메뉴등록시 해당레벨이 아니면 안나오게 할 수 있을까요?
본문
게시판 포맷으로 만들었습니다.
해당 등급이 아니면 선택할 수는 없지만,
아예 안보이게 하면 좋을듯한데요..
어떻게 해야할까요?
답변 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($row['me_id'] == '체크할 메뉴ID(메뉴관리에서 me_id확인)') {
if($member['mb_level'] < 10) continue; // 10 레벨 미만은 통과(안보이게)
}
// 추가 소스 끝
?>
<li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">
<a href="<?php echo $row['me_link']; ?>" 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($row2['me_id'] == '체크할 메뉴ID(메뉴관리에서 me_id확인)') {
if($member['mb_level'] < 10) continue; // 10 레벨 미만은 통과(안보이게)
}
// 추가 소스 끝
if($k == 0)
echo '<ul class="gnb_2dul">'.PHP_EOL;
?>
<li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" 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>
그누보드에서 레벨별 노출 비노출 스크립트 입니다~
요고 메모해두세요^^ 은근히 쓸일 많아요~
<? if($member['mb_level'] >= 5 ){?> 같거나 5 보다 위
<? if($member['mb_level'] <= 5 ){?> 같거나 5보다 아래
<? if($member['mb_level'] == 5 ){?> 5와 같음
10레벨(관리자) 만 볼수 있도록
<!-- 10레벨만 보임 시작 -->
<? if($member['mb_level'] == 10 ){?>
이곳에 10레벨만 볼 수 있는 내용
<?php } ?>
관리자만 볼수있도록
<?php if ($is_admin) { ?>
이곳에 관리자만 볼 수 있는 내용
<?php } ?>
로그인한 회원만 볼수 있도록
<?php if ($is_member) { ?>
이곳에 로그인한 사람만 볼 수 있는 내용
<?php } ?>
답변을 작성하시기 전에 로그인 해주세요.