메뉴를 소스보기에서도 안 보이게 할 수 있을까요? 채택완료
그누보드5 메뉴 레벨에 따라 달리 보여주기
http://sir.kr/g5_tip/2138?sfl=wr_subject%7C%7Cwr_content&stx=%EB%A9%94%EB%89%B4+%EA%B6%8C%ED%95%9C&page=2">http://sir.kr/g5_tip/2138?sfl=wr_subject%7C%7Cwr_content&stx=%EB%A9%94%EB%89%B4+%EA%B6%8C%ED%95%9C&page=2
위의 방법을 적용하니까, 레벨에 따라 메뉴가 안 보이게 됩니다.
그런데, 소스 보기를 하면 레벨에 상관없이 메뉴가 모두 노출 되던데
소스보기에서도 메뉴가 레벨에 따라 다르게 보여주는 방법이 있을까요?
답변 3개
01번째 줄~~
</p><p>//<nav id="gnb" style=";display:none"></p><p><nav id="gnb"></p><p>
35번째 줄~~~
</p><p>for ($i=0; $row=sql_fetch_array($result); $i++) {</p><p> if ( $gnb_zindex - 1 < 0 ) break; // 해당레벨의 메뉴갯수를 넘었으므로, 더이상 다음 메뉴는 출력 안하고 for 루프문을 빠져나감..</p><p><span style="font-size: 11pt;">
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
배추빌더5나 아미나 경우, 메뉴에 레벨 설정해 노출하는 기능이 있으니,
소스 만질 줄 모르시면, 위 빌더를 이용해 보세요.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
그런데...특정 레벨일때 display:none를 적용시키는 방법 자체를 모르겠습니다;;;
그냥 시험 삼아, 레벨별이 아니더라도 소스보기에서라도 안 나오는지 확인하려고
<nav id="gnb" style=";display:none"> 식으로 적용해봤는데,
그래도 소스보기에서는 메뉴가 다 노출되네요......
[code]
<nav id="gnb" style=";display:none">
<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);
if ($member[mb_level] >= 9 | $is_admin == 'super') { //레벨9이상이거나 관리자일 경우만 열람
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용 . 메뉴갯수 1000개 보여줌. (0~999번까지 보여줌). 0부터 카운트
} elseif ($member[mb_level] >=8 && $member[mb_level] <9) { //레벨8 이상
$gnb_zindex = 7; // gnb_1dli z-index 값 설정용. 메뉴갯수 8개 보여줌. (0~7번까지 보여줌). 0부터 카운트
} elseif ($member[mb_level] >=7 && $member[mb_level] <8) { //레벨7 이상
$gnb_zindex = 6; // gnb_1dli z-index 값 설정용. 메뉴갯수 7개 보여줌. (0~6번까지 보여줌). 0부터 카운트
} elseif ($member[mb_level] >=6 && $member[mb_level] <7) { //레벨6 이상
$gnb_zindex = 5; // gnb_1dli z-index 값 설정용. 메뉴갯수 6개 보여줌. (0~5번까지 보여줌). 0부터 카운트
} elseif ($member[mb_level] >=5 && $member[mb_level] <6) { //레벨5 이상
$gnb_zindex = 4; // gnb_1dli z-index 값 설정용. 메뉴갯수 5개 보여줌. (0~4번까지 보여줌). 0부터 카운트
} elseif ($member[mb_level] >=4 && $member[mb_level] <5) { //레벨4 이상
$gnb_zindex = 3; // gnb_1dli z-index 값 설정용. 메뉴갯수 4개 보여줌. (0~3번까지 보여줌). 0부터 카운트
} elseif ($member[mb_level] >=3 && $member[mb_level] <4) { //레벨3 이상
$gnb_zindex = 2; // gnb_1dli z-index 값 설정용. 메뉴갯수 3개 보여줌. (0~2번까지 보여줌). 0부터 카운트
} elseif ($member[mb_level] >=2 && $member[mb_level] <3) { //레벨2 이상
$gnb_zindex = 1; // gnb_1dli z-index 값 설정용. 메뉴갯수 2개 보여줌. (0~1번까지 보여줌). 0부터 카운트
} else {
$gnb_zindex = -1; // gnb_1dli z-index 값 설정용. 메뉴갯수 0개 보여줌. (메뉴 안보임). 0부터 카운트
}
// 메뉴 순서도 0번부터 지정하는게 계산하기 편함.
for ($i=0; $row=sql_fetch_array($result); $i++) {
// link주소에 파라미터가 있는 경우
if(strstr($row['me_link'], ".php?"))
$qstr2 = "&me_code=".$row['me_code'];
// link주소에 파라미터가 없는 경우
else
$qstr2 = "?me_code=".$row['me_code'];
?>
<li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">
<a href="<?php echo $row['me_link']; ?><?php echo $qstr2; ?>" 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++) {
// link주소에 파라미터가 있는 경우
if(strstr($row2['me_link'], ".php?"))
$qstr2 = "&me_code=".$row2['me_code'];
// link주소에 파라미터가 없는 경우
else
$qstr2 = "?me_code=".$row2['me_code'];
if($k == 0)
echo '<ul class="gnb_2dul">'.PHP_EOL;
?>
<li class="gnb_2dli;"><a href="<?php echo $row2['me_link']; ?><?php echo $qstr2; ?>" 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>
</div>
[/code]
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
잘 해결되었습니다! (--)(__)
못 배운 사람들은 저런 식으로 해야한다는 생각자체도 못하겠습니다 ㅠㅠ