그룹가로 게시판세로 슬라이드 자동메뉴 mtDropDown 정보
그룹가로 게시판세로 슬라이드 자동메뉴 mtDropDown관련링크
첨부파일
본문
이번에 메뉴스킨과 함께 작업한 제목과 같은 메뉴 파일입니다.
"자동메뉴"라는 키워드로 팁게시판에 시리즈로 올려놓은 터라 이 파일만 따로 이곳에 한번더 소개해드립니다.
- 스킨게시판에서 보신 분들은 그냥 패스~~하시기 바랍니다.
기본인 텍스트형과 옵션인 이미지 롤오버형 기능이 포함되어 있습니다.
주석을 참고해서 그룹 이미지를 제작해주시면 되겠습니다.
http://www.sir.co.kr/bbs/tb.php/g4_skin/14799 스킨을 내려받은 분들은 이 파일(gb_mtDropdownRF.php)이 이미 포함되어 있습니다.
스크린샷과 대강의 설명은 위 메뉴스킨 링크를 참조하시면 되겠습니다.
라이브러리를 공개해주신 rolo님과 멋진 슬라이드 스크립트를 소개해 주신 오달수님께 감사의 말씀 올립니다.
미리보기 링크1 입니다.
스크립트로 인한 스크롤 압박이 예상되어 스크립트와 스타일을 제외한 핵심적인 부분만 따로 붙입니다.
_____________________________________________________________**
<?
// rolo님 메뉴스킨 라이브러리 참조, 일반적인 조건으로 쿼리
// 그룹 정렬 - gr_1 오름 차순
// 제외 그룹 - 접근사용 yes, 게시판이 없는 그룹, 제외 게시판만 있는 그룹
// 게시판 정렬 - 전체 검색 오름 차순
// 제외 게시판 - 전체 검색 사용 no, 목록열람 레벨
$list = array();
// 위 에서 명시한 그룹외에 제외시키고자 하는 그룹을 수동으로 추가
$exc = "('그룹아이디1', '그룹아이디2', '그룹아이디3')";
$sql= "select G.gr_id, G.gr_subject, G.gr_use_access, B.bo_use_search, B.bo_table, substring_index( bo_subject, ';', 1) bo_subject from $g4[group_table] G inner join $g4[board_table] B using (gr_id) where G.gr_use_access = '0' and G.gr_id not in {$exc} and B.bo_use_search = '1' and (bo_list_level <= $member[mb_level]) order by gr_1 ASC, bo_order_search ASC ";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$row['gr_id']]['gr_subject'] = $row['gr_subject'];
$list[$row['gr_id']]['bbs'][] = array( 'bo_table'=> $row['bo_table'], 'bo_subject'=>$row['bo_subject']);
}
$gBtnpath = "이미지 폴더 경로" ."/". "gBtn";/* 그룹 버튼 이미지 폴더 gBtn */
//$gBtnpath = "$g4[path]" ."/". "img";/* 그룹 버튼 이미지 폴더 gBtn */
if (is_dir($gBtnpath)) {
?><div style="dispaly:none" onLoad="MM_preloadImages('<? foreach( $list as $key=> $value) { echo"{$gBtnpath}/{$key}_1.gif','{$gBtnpath}/{$key}_2.gif')";}?>"></div><?
}
?><div style="width:100%;height:30px;border:1px solid gray;"><?
$menu_size= count( $list);
foreach( $list as $key=> $value) {
if (!is_dir($gBtnpath)) {/* 이미지 폴더가 없다면 텍스트 스타일(기본) */
$style = "";
if ($key == $gr_id)
$style = " style='font-weight:bold; color:#45436c;'";
$gr_subject = "<span $style>" . cut_str(get_text($value['gr_subject']),20,"") . "</span>";
?><span id='<?=$key?>' style="background:transparent url(<?=$menu_skin_path?>/img/space.gif) repeat-x;width:100px;height:30px; border:1px solid gray;text-align:center;vertical-align:middle;cursor:pointer;padding:6px 10px 5px 10px;" class='grTsub'><a href='<?=$g4['path']?><?=$key == "sample_gal"?'/gallery':'';/*특정그룹 경로*/?>/?gur=<?=$key?>' onfocus='this.blur()'><?=$gr_subject?></a></span><?
}
else {
/* 이미지 폴더가 있다면 이미지로 표시(옵션)
* 기본 이미지 - 그룹아이디_1.gif *
* 롤오버 이미지 - 그룹아이디_2.gif */
?><span id='<?=$key?>' style="width:100px;height:30px;border:0px solid gray;text-align:center;vertical-align:middle;cursor:pointer;" class='grIsub'><a href='<?=$g4['path']?><?=$key == "sample_gal"?'/gallery':'';/*특정그룹 경로*/?>/?gur=<?=$key?>' onMouseOver="MM_swapImage('<?=$key?>','','<?=$gBtnpath?>/<?=$key?>_2.gif',1)" onMouseOut="MM_swapImgRestore()" onfocus='this.blur()'><?
if ($key == $gur){//해당 그룹 표시
?><img src="<?=$gBtnpath?>/<?=$key?>_2.gif" width="100" height="30" border=0 name="<?=$key?>" alt="<?=$key?>"></a></span><?
}else{
?><img src="<?=$gBtnpath?>/<?=$key?>_1.gif" width="100" height="30" border=0 name="<?=$key?>" alt="<?=$key?>"></a></span><?
}
}
}//foreach
?></div>
<script type="text/javascript">
if (mtDropDown.isSupported()) {
var ms = new mtDropDownSet(mtDropDown.direction.down, 0, -2, mtDropDown.reference.bottomLeft);<?
foreach( $list as $key => $value) {
?>var <?=$key?> = ms.addMenu(document.getElementById("<?=$key?>"));<?
foreach( $value['bbs'] as $name) {
$style = "";
if ($name['bo_table'] == $bo_table)
$style = "style='font-weight:bold;'";
$bo_subject = "<span $style>" . cut_str(get_text($name['bo_subject']),20,"") . "<\/span>";
?><?=$key?>.addItem("<?=$bo_subject?>","<?=$g4['bbs_path']?>/board.php?bo_table=<?=$name[bo_table]?>");<?
}
}
?>mtDropDown.renderAll();
}
/*=========================*
* mt_dropdownC.js end
* gb_mtDropdownRF.php end
*=========================*/
</script>
<script type="text/javascript" Event="onLoad" For="window">
<!-- //이동금지 Msie, Firefox 호환성 검사 ok
init();
//-->
</script>
원하는 위치에 <? include_once("경로/gb_mtDropdownRF.php");?>로 사용 합니다.
"자동메뉴"라는 키워드로 팁게시판에 시리즈로 올려놓은 터라 이 파일만 따로 이곳에 한번더 소개해드립니다.
- 스킨게시판에서 보신 분들은 그냥 패스~~하시기 바랍니다.
기본인 텍스트형과 옵션인 이미지 롤오버형 기능이 포함되어 있습니다.
주석을 참고해서 그룹 이미지를 제작해주시면 되겠습니다.
http://www.sir.co.kr/bbs/tb.php/g4_skin/14799 스킨을 내려받은 분들은 이 파일(gb_mtDropdownRF.php)이 이미 포함되어 있습니다.
스크린샷과 대강의 설명은 위 메뉴스킨 링크를 참조하시면 되겠습니다.
라이브러리를 공개해주신 rolo님과 멋진 슬라이드 스크립트를 소개해 주신 오달수님께 감사의 말씀 올립니다.
미리보기 링크1 입니다.
스크립트로 인한 스크롤 압박이 예상되어 스크립트와 스타일을 제외한 핵심적인 부분만 따로 붙입니다.
_____________________________________________________________**
<?
// rolo님 메뉴스킨 라이브러리 참조, 일반적인 조건으로 쿼리
// 그룹 정렬 - gr_1 오름 차순
// 제외 그룹 - 접근사용 yes, 게시판이 없는 그룹, 제외 게시판만 있는 그룹
// 게시판 정렬 - 전체 검색 오름 차순
// 제외 게시판 - 전체 검색 사용 no, 목록열람 레벨
$list = array();
// 위 에서 명시한 그룹외에 제외시키고자 하는 그룹을 수동으로 추가
$exc = "('그룹아이디1', '그룹아이디2', '그룹아이디3')";
$sql= "select G.gr_id, G.gr_subject, G.gr_use_access, B.bo_use_search, B.bo_table, substring_index( bo_subject, ';', 1) bo_subject from $g4[group_table] G inner join $g4[board_table] B using (gr_id) where G.gr_use_access = '0' and G.gr_id not in {$exc} and B.bo_use_search = '1' and (bo_list_level <= $member[mb_level]) order by gr_1 ASC, bo_order_search ASC ";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$row['gr_id']]['gr_subject'] = $row['gr_subject'];
$list[$row['gr_id']]['bbs'][] = array( 'bo_table'=> $row['bo_table'], 'bo_subject'=>$row['bo_subject']);
}
$gBtnpath = "이미지 폴더 경로" ."/". "gBtn";/* 그룹 버튼 이미지 폴더 gBtn */
//$gBtnpath = "$g4[path]" ."/". "img";/* 그룹 버튼 이미지 폴더 gBtn */
if (is_dir($gBtnpath)) {
?><div style="dispaly:none" onLoad="MM_preloadImages('<? foreach( $list as $key=> $value) { echo"{$gBtnpath}/{$key}_1.gif','{$gBtnpath}/{$key}_2.gif')";}?>"></div><?
}
?><div style="width:100%;height:30px;border:1px solid gray;"><?
$menu_size= count( $list);
foreach( $list as $key=> $value) {
if (!is_dir($gBtnpath)) {/* 이미지 폴더가 없다면 텍스트 스타일(기본) */
$style = "";
if ($key == $gr_id)
$style = " style='font-weight:bold; color:#45436c;'";
$gr_subject = "<span $style>" . cut_str(get_text($value['gr_subject']),20,"") . "</span>";
?><span id='<?=$key?>' style="background:transparent url(<?=$menu_skin_path?>/img/space.gif) repeat-x;width:100px;height:30px; border:1px solid gray;text-align:center;vertical-align:middle;cursor:pointer;padding:6px 10px 5px 10px;" class='grTsub'><a href='<?=$g4['path']?><?=$key == "sample_gal"?'/gallery':'';/*특정그룹 경로*/?>/?gur=<?=$key?>' onfocus='this.blur()'><?=$gr_subject?></a></span><?
}
else {
/* 이미지 폴더가 있다면 이미지로 표시(옵션)
* 기본 이미지 - 그룹아이디_1.gif *
* 롤오버 이미지 - 그룹아이디_2.gif */
?><span id='<?=$key?>' style="width:100px;height:30px;border:0px solid gray;text-align:center;vertical-align:middle;cursor:pointer;" class='grIsub'><a href='<?=$g4['path']?><?=$key == "sample_gal"?'/gallery':'';/*특정그룹 경로*/?>/?gur=<?=$key?>' onMouseOver="MM_swapImage('<?=$key?>','','<?=$gBtnpath?>/<?=$key?>_2.gif',1)" onMouseOut="MM_swapImgRestore()" onfocus='this.blur()'><?
if ($key == $gur){//해당 그룹 표시
?><img src="<?=$gBtnpath?>/<?=$key?>_2.gif" width="100" height="30" border=0 name="<?=$key?>" alt="<?=$key?>"></a></span><?
}else{
?><img src="<?=$gBtnpath?>/<?=$key?>_1.gif" width="100" height="30" border=0 name="<?=$key?>" alt="<?=$key?>"></a></span><?
}
}
}//foreach
?></div>
<script type="text/javascript">
if (mtDropDown.isSupported()) {
var ms = new mtDropDownSet(mtDropDown.direction.down, 0, -2, mtDropDown.reference.bottomLeft);<?
foreach( $list as $key => $value) {
?>var <?=$key?> = ms.addMenu(document.getElementById("<?=$key?>"));<?
foreach( $value['bbs'] as $name) {
$style = "";
if ($name['bo_table'] == $bo_table)
$style = "style='font-weight:bold;'";
$bo_subject = "<span $style>" . cut_str(get_text($name['bo_subject']),20,"") . "<\/span>";
?><?=$key?>.addItem("<?=$bo_subject?>","<?=$g4['bbs_path']?>/board.php?bo_table=<?=$name[bo_table]?>");<?
}
}
?>mtDropDown.renderAll();
}
/*=========================*
* mt_dropdownC.js end
* gb_mtDropdownRF.php end
*=========================*/
</script>
<script type="text/javascript" Event="onLoad" For="window">
<!-- //이동금지 Msie, Firefox 호환성 검사 ok
init();
//-->
</script>
원하는 위치에 <? include_once("경로/gb_mtDropdownRF.php");?>로 사용 합니다.
추천
2
2
댓글 12개

환상의 자동메뉴 좋습니다.
감사합니다. 그리고 고생 하셨습니다.^^.
감사합니다. 그리고 고생 하셨습니다.^^.
스크롤 압박을 헤치고 먼길(?) 내려 오셔서 코멘트를 주시니 감사하옵니다.^^
제가 봐도 서너군데 숨어있는 기특한 아이디어는 괜찮아 보인답니다.
여러모도 도움 주셔서 고맙습니다.
스크롤 압박 때문에 파일 전체 내용은 첨부형태로 수정해야 할듯합니다. ㅎㅎ
제가 봐도 서너군데 숨어있는 기특한 아이디어는 괜찮아 보인답니다.
여러모도 도움 주셔서 고맙습니다.
스크롤 압박 때문에 파일 전체 내용은 첨부형태로 수정해야 할듯합니다. ㅎㅎ
좋은 팁이네요. 잘 사용하겠습니다.
코멘트 감사합니다.
문제점이 있다면 꼭 알려주시면 감사하겠습니다.
문제점이 있다면 꼭 알려주시면 감사하겠습니다.

스크롤 압박을 헤치고 먼길(?) ---상당히 인상적인 글이군요.....^^
꾸준히 정진하시는 모습이 멋져보입니다....^^
꾸준히 정진하시는 모습이 멋져보입니다....^^
안녕하세요!!
오랬만에 뵙겠습니다.
수정하기 전에 그 압박을 느끼셨다면 누구라도 그런 감사의 멘트가 절로 나왔을 것입니다. ㅎㅎ
코멘트 감사합니다.
오랬만에 뵙겠습니다.
수정하기 전에 그 압박을 느끼셨다면 누구라도 그런 감사의 멘트가 절로 나왔을 것입니다. ㅎㅎ
코멘트 감사합니다.
고생하셨습니다.
늘 끙끙 거리며 고민하는게 메뉴였었는데 플록님 덕분에 아주 반가운 소식이 올라왔네요.
습한 장마철 건강 유의하시면서 작업하시길... ^^
늘 끙끙 거리며 고민하는게 메뉴였었는데 플록님 덕분에 아주 반가운 소식이 올라왔네요.
습한 장마철 건강 유의하시면서 작업하시길... ^^
코멘트 감사합니다.^^
아시다시피 모두 선배 고수님들의 배려로 가능한 것이랍니다.
사용해보시고 피드백 부탁 드립니다.
아시다시피 모두 선배 고수님들의 배려로 가능한 것이랍니다.
사용해보시고 피드백 부탁 드립니다.
멋진메뉴
감사합니다
고맙습니다
잘쓰겠습니다.