현재 메뉴의 선택 방식
본문
현재 메뉴 선택에 대하여..
메뉴에 보면 코드가 있는데요~
10
1010
1020
20
30
3010
3020
3030
이런식으로 3개의 대메뉴가 있고, 1번메뉴와 3번 메뉴에는 서브메뉴가 있습니다.
1010의 메뉴를 선택했다면 10의 메뉴에 select 값을 주고 싶은데요~
이게 서브메뉴이다보니 하위메뉴에 존재하는데 상위 메뉴에 select 값을 어떤방식으로 줘야 할까요>
답변 4
URL에 포함하지 않고 me_code 값을 노출하는 방식은 ...
상단에 변수로 지정하는 방식도 있습니다.
일반 html 페이지인 경우
상단쪽에 변수로 지정..
$me_code = "10";
게시판의 경우에는
baord_head.php 에 변수 추가
switch($bo_table){
case "board1":
$me_code = "10";
break;
case "board2":
$me_code = "20";
break;
case "board3":
$me_code = "30";
break;
}
이런식으로 표현할 수도 있습니다.
앞에 2자리만 비교하시면 될꺼에요
substr($me_code,0,2);
그누보드5의 메뉴기능을 사용중이시라면 하위메뉴 링크가 디비에서 가져오는 사항이라서 링크에 me_code를 추가한 후에 me_code 값의 앞자리2자리만 비교하는 방식으로 하셔야 합니다.
좀더 자세한 내용이나 메뉴부분 코드를 알려주시면 자세한 설명을 드릴께요
<nav id="gnb">
<h2>메인메뉴</h2>
<ul id="gnb_1dul">
<?php
$sql = " select *
from {$g5['menu_table']}
where me_use = '1'
and length(me_code) = '2'
order by me_order, me_id ";
$result = sql_query($sql, false);
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 메뉴 셀렉트용
if(substr($_GET['me_code'],0,2)==substr($row['me_code'],0,2){
$default = "gnb_1dli_on";
}else{
$default = "gnb_1dli";
}
?>
<li class="<?=$default?>" style="z-index:<?php echo $gnb_zindex--; ?>">
<a href="<?php echo $row['me_link']; ?>&me_code=<?=$row['me_code']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a>
<?php
$sql2 = " select *
from {$g5['menu_table']}
where me_use = '1'
and length(me_code) = '4'
and substring(me_code, 1, 2) = '{$row['me_code']}'
order by me_order, me_id ";
$result2 = sql_query($sql2);
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
if($k == 0)
echo '<ul class="gnb_2dul">'.PHP_EOL;
?>
<li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>&me_code=<?=$row2['me_code']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name'] ?></a></li>
<?php
}
if($k > 0)
echo '</ul>'.PHP_EOL;
?>
</li>
<?php
}
if ($i == 0) { ?>
<li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
<?php } ?>
</ul>
</nav>