메뉴 권한(출력여부)설정 추가 정보
메뉴 권한(출력여부)설정 추가첨부파일
본문
메뉴에 권한을 부여해서 메뉴출력여부를 설정할 수 있도록 하는 방법입니다.
// 권한 설정 추가
if(!sql_query(" select me_level from {$g5['menu_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['menu_table']}`
ADD `me_level` tinyint(4) NOT NULL DEFAULT '0' AFTER `me_mobile_use` ", true);
}
2. /adm/menu_list.php 테이블에 권한설정부분 추가
<td class="td_mng">
<label for="me_level_<?php echo $i; ?>" class="sound_only">권한</label>
<?php echo get_member_level_select('me_level[]', 1, 10, $row['me_level']) ?>
</td>
3. /adm/menu_list_update.php 하단 메뉴 등록부분 권한부분 추가
// 메뉴 등록
$sql = " insert into {$g5['menu_table']}
set me_code = '".$me_code."',
me_name = '".$me_name."',
me_link = '".$me_link."',
me_target = '".sql_real_escape_string(strip_tags($_POST['me_target'][$i]))."',
me_order = '".sql_real_escape_string(strip_tags($_POST['me_order'][$i]))."',
me_use = '".sql_real_escape_string(strip_tags($_POST['me_use'][$i]))."',
me_mobile_use = '".sql_real_escape_string(strip_tags($_POST['me_mobile_use'][$i]))."',
me_level = '".sql_real_escape_string(strip_tags($_POST['me_level'][$i]))."' ";
sql_query($sql);
4. 테마 head.php 파일 메뉴출력부분 권한부분 추가
1차메뉴 : if ($member['mb_level'] < $row['me_level']) continue;
2차메뉴 : if ($member['mb_level'] < $row2['me_level']) continue;
전체메뉴 또한 같은형식으로 수정해주시면 됩니다.
수정전
<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' : '';
?>
<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 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
$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>
수정후
<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;
if ($member['mb_level'] < $row['me_level']) continue;
$add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
?>
<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 echo $row['me_name'] ?></a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if( empty($row2) ) continue;
if ($member['mb_level'] < $row2['me_level']) 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
$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>
추천
9
9
댓글 24개
오..! 필요하던 팁인데 감사합니다!
감사합니다!
유용한 정보 감사합니다
감사합니다
감사합니다. ^_^
멋지네요 공개해 주셔서 감사합니다.
역시나 트리플님... 감사합니다.
아미나 에도 종종 모습 보여주세요~~^^;;
아미나 에도 종종 모습 보여주세요~~^^;;
꿀팁 감사합니다.
그누에 기본적으로 들어가도 좋을것 같네요~
감사합니다!
감사합니다
감사합니다!
이런 기능이 있었으면 생각은 다 하는데, 생각을 구현하시다니 대단하십니다.
감사합니다.
감사합니다.
감사합니다.
지금 질문을 드려도 되는지.?
위 소스를 넣고 메뉴를 임시로 만들때 권한이 안나오네요 캡쳐사진 확인해주세요
그래서 일단 확인을 누르고 다시 메뉴리스트를 보면 권한이 보여서 권한을 주고 다시 확인을 누르고 있는데 임시로 만들때 나오게 하려면 어떻게 해야 하나요.?
지금 질문을 드려도 되는지.?
위 소스를 넣고 메뉴를 임시로 만들때 권한이 안나오네요 캡쳐사진 확인해주세요
그래서 일단 확인을 누르고 다시 메뉴리스트를 보면 권한이 보여서 권한을 주고 다시 확인을 누르고 있는데 임시로 만들때 나오게 하려면 어떻게 해야 하나요.?
@크레이티브 menu_form.php파일을 확인해보시거나 쿠기,캐시를 삭제하고 다시 시도해보세요.
@트리플 트리플님 메뉴의 전체메뉴에 보니 설정한 값이 그대로 노출됩니다.
전체메뉴에서도 설정해 놓은대로 안보이게 하려면 어떻게 해야 할까요.?
전체메뉴에서 안보여야 하는데 그대로 노출되네요
전체메뉴에서도 설정해 놓은대로 안보이게 하려면 어떻게 해야 할까요.?
전체메뉴에서 안보여야 하는데 그대로 노출되네요
전에 안된다는것은 첨부파일에 다운을 받아 사용하면 될것을 그냥 소스만 만들어서그랬습니다
menu_form.php 수정을 안해서 그랬던것이었습니다.
그런데 폰에선 그냥 다 보이더군요 확인해 보시겠습니까 권한을 다 주었는데...
웹에서는 정상적으로 권한을 준 레벨만 보였는데 말입니다.
여하튼 스마트폰에서 그냥 다 보입니다. 확인바랍니다
menu_form.php 수정을 안해서 그랬던것이었습니다.
그런데 폰에선 그냥 다 보이더군요 확인해 보시겠습니까 권한을 다 주었는데...
웹에서는 정상적으로 권한을 준 레벨만 보였는데 말입니다.
여하튼 스마트폰에서 그냥 다 보입니다. 확인바랍니다
mobile 쪽 head.php 에도 수정해야하는데.. 소스 추가하니 잘됩니다
전체메뉴에도 같은 적용시키라는 말이 있었군요
전 그거 못보았는데 자세히 보니 있네요
그래서 일단 비슷한데 따라한다고 따라했는데 적용되네요
그래서 저처럼 초보를 위해서 조그만더 상세하게 적어주시면 어떨까 생각되네요
읻단 제가 적어놓겠습니다
전체메뉴 적용전
<div id="gnb_all">
<h2>전체메뉴</h2>
<ul class="gnb_al_ul">
<?php
$i = 0;
foreach( $menu_datas as $row ){
?>
<li class="gnb_al_li">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_al_a"><?php echo $row['me_name'] ?></a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if($k == 0)
echo '<ul>'.PHP_EOL;
?>
<li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><i class="fa fa-caret-right" aria-hidden="true"></i> <?php echo $row2['me_name'] ?></a></li>
<?php
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul>'.PHP_EOL;
?>
</li>
전체메뉴 적용후
<div id="gnb_all">
<h2>전체메뉴</h2>
<ul class="gnb_al_ul">
<?php
$i = 0;
foreach( $menu_datas as $row ){
if ($member['mb_level'] < $row['me_level']) continue;
?>
<li class="gnb_al_li">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_al_a"><?php echo $row['me_name'] ?></a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if ($member['mb_level'] < $row2['me_level']) continue;
if($k == 0)
echo '<ul>'.PHP_EOL;
?>
<li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><i class="fa fa-caret-right" aria-hidden="true"></i> <?php echo $row2['me_name'] ?></a></li>
<?php
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul>'.PHP_EOL;
?>
</li>
저처럼 초보를 위해 참고로 적습니다.
초보들 헤메이지 마세요 힘내시고 용기내세요
전 그거 못보았는데 자세히 보니 있네요
그래서 일단 비슷한데 따라한다고 따라했는데 적용되네요
그래서 저처럼 초보를 위해서 조그만더 상세하게 적어주시면 어떨까 생각되네요
읻단 제가 적어놓겠습니다
전체메뉴 적용전
<div id="gnb_all">
<h2>전체메뉴</h2>
<ul class="gnb_al_ul">
<?php
$i = 0;
foreach( $menu_datas as $row ){
?>
<li class="gnb_al_li">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_al_a"><?php echo $row['me_name'] ?></a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if($k == 0)
echo '<ul>'.PHP_EOL;
?>
<li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><i class="fa fa-caret-right" aria-hidden="true"></i> <?php echo $row2['me_name'] ?></a></li>
<?php
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul>'.PHP_EOL;
?>
</li>
전체메뉴 적용후
<div id="gnb_all">
<h2>전체메뉴</h2>
<ul class="gnb_al_ul">
<?php
$i = 0;
foreach( $menu_datas as $row ){
if ($member['mb_level'] < $row['me_level']) continue;
?>
<li class="gnb_al_li">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_al_a"><?php echo $row['me_name'] ?></a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if ($member['mb_level'] < $row2['me_level']) continue;
if($k == 0)
echo '<ul>'.PHP_EOL;
?>
<li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><i class="fa fa-caret-right" aria-hidden="true"></i> <?php echo $row2['me_name'] ?></a></li>
<?php
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul>'.PHP_EOL;
?>
</li>
저처럼 초보를 위해 참고로 적습니다.
초보들 헤메이지 마세요 힘내시고 용기내세요
감사합니다. 잘 사용하도록 하겠습니다.
감사 합니다.~~
좋은 자료 감사합니다
와 계속오류나서 포기할려다가 보니깐 첨부 다운있네요 ㅠㅠ 근데 3이면 운영자 10도 못보는건가요? 근데 이렇게 말하는도중에 그누보드 6 런칭했네요
너무 감사합니다!