레벨 5 이상에서만 보여지는 메뉴를 만들고 싶어요 ㅜ.ㅜ
본문
안녕하세요
며칠을 끙끙거리다 결국 도움을 청하려고 이렇게 글을 올립니다. ㅜ.ㅜ


나머지 메뉴는 모든 레벨에서 다 볼 수 있고 Menu와 거기에 딸린 서브 메뉴만 회원레벨 5 이상의 회원들에게만 보여주고 싶거든요.
열심히 찾아보며 까만도둑님께서 10년전쯤 전에 올려주신 팁이 있어 시도해봤지만 버젼이 달라서 그런지 안되더라구요 흑
도와주세요~
감사합니다!!!
답변 3
<?php
$menu_datas = get_menu_db(0, true);
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
$i = 0;
foreach( $menu_datas as $row ){
if( empty($row) ) continue;
$add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
?>
=>
<?php
$menu_datas = get_menu_db(0, true);
if ($member['mb_level'] >= 5 | $is_admin == 'super') {
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
} else {
$gnb_zindex = 9; // gnb_1dli z-index 값 설정용
}
$i = 0;
foreach( $menu_datas as $row ){
if( empty($row) ) continue;
$add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
?>
https://sir.kr/g5_tip/2138 여기 방법입니다.
!-->
<ul id="gnb_1dul">
<li class="gnb_1dli gnb_mnal"><button type="button" class="gnb_menu_btn" title="전체메뉴"><i class="fa fa-bars" aria-hidden="true"></i><span class="sound_only">전체메뉴열기</span></button></li>
<?php
$menu_datas = get_menu_db(0, true);
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
$i = 0;
foreach( $menu_datas as $row ){
if( empty($row) ) continue;
$add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
?>
<?php if($row['me_name'] == 'Menu') {
if($is_member && $member['mb_level'] > 4) {
?>
<li class="gnb_1dli <?php echo $add_class; ?>" style="z-index:<?php echo $gnb_zindex--; ?>">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da">
<?php if($row['me_icons']) { ?>
<i class="fa <?php echo $row['me_icons'] ?> mr1 nav-cate-icon margin-right-5"></i>
<?php } ?>
<?php echo $row['me_name'] ?>
</a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if( empty($row2) ) continue;
if($k == 0)
echo '<span class="bg">하위분류</span><div class="gnb_2dul"><ul class="gnb_2dul_box">'.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
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul></div>'.PHP_EOL;
?>
</li>
<?php } ?>
<?php } else { ?>
<li class="gnb_1dli <?php echo $add_class; ?>" style="z-index:<?php echo $gnb_zindex--; ?>">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da">
<?php if($row['me_icons']) { ?>
<i class="fa <?php echo $row['me_icons'] ?> mr1 nav-cate-icon margin-right-5"></i>
<?php } ?>
<?php echo $row['me_name'] ?>
</a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if( empty($row2) ) continue;
if($k == 0)
echo '<span class="bg">하위분류</span><div class="gnb_2dul"><ul class="gnb_2dul_box">'.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
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul></div>'.PHP_EOL;
?>
</li>
<?php } ?>
<?php
$i++;
} //end foreach $row
if ($i == 0) { ?>
<li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
<?php } ?>
</ul>
이렇게 수정해 보세요
<?php if($row['me_name'] == 'Menu' && $member['mb_level'] > 4) { ?> 이 조건에서만 보일 것입니다 !-->
foreach ($menu_datas as $row) {
if (empty($row)) continue;
// 특정 메뉴 레벨 제한 (메뉴명으로 체크)
if ($row['me_name'] == 'Menu' && $member['mb_level'] < 5)
continue;
답변을 작성하시기 전에 로그인 해주세요.