현재 선택된 메뉴 표시!
본문
그누보드 5에 들어있는 소스를 활용해서 왼쪽메뉴를 만들었는데요.
현재 선택된 메뉴에만 클래스를 추가해서 하이라이트를 주고싶습니다.
(sir사이트의 오른쪽 메뉴보면 현재 메뉴에만 핑크로 하이라이트 되는 것 처럼~)
처음에는 현재 페이지의 me_code를 구한다면 쉽게 될 수 있을거라 생각했는데..
제가 php쪽으로는 지식이 매우 짧아서.ㅠㅠ..
li의 클래스에 depth1_on <--이게 들어가있는데 그 클래스가 현재 선택된 메뉴에만 나올 수 있도록
팁좀 주세요!!
<ul class="lnb">
<?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($i==5){break;};
?>
<li class="depth1_on" style="z-index:<?php echo $gnb_zindex--; ?>">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="menu0<?=$i + 1?>"><?php echo $row['me_name'] ?><?if($row['me_name'] == $board['bo_subject']){?>On<?}?><?=$gr_id?><?=$board['bo_table']?></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="lnb_sub">
'.PHP_EOL;
?>
<li class="depth2_on"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name'] ?><?=$row2['me_code']?></a></li>
<?}
if($k > 0)
echo '
</ul>
'.PHP_EOL;
?>
</li>
<?}?>
</ul>
답변 1
<? $on= $code ==
$row2
[
'me_code'
]? 'depth2_on' : '';?>
<li
class
=
"<?=on?>"
><a href=
"<?php echo $row2['me_link']; ?>&code=<?=
$row2
[
'me_code'
]?>
"target=
"_<?php echo $row2['me_target']; ?>"
><?php
echo
$row2
[
'me_name'
] ?><?=
$row2
[
'me_code'
]?></a></li>
답변을 작성하시기 전에 로그인 해주세요.