메뉴 권한 설정 회원 레벨별로 다르게 출력하기

메뉴 권한 설정 회원 레벨별로 다르게 출력하기

가로수 1 3,145 2021.01.15 14:00

메뉴 권한 설정 회원 레벨별로 다르게 출력하기

관리자 18-04-04 12:21

관리자 페이지 > 환경설정 > 메뉴 설정을 사용할 때 회원 레벨에 따라 다르게 출력하는 방법입니다.

예를 들어 권한 설정을 2로 입력하면 비회원은 메뉴가 출력되지 않습니다.

10으로 입력하면 관리자만 출력됩니다.



1. DB 수정


g5_menu 테이블에 me_level 필드 추가


40b149a18d8dbd61f03065b8963a4860_1522812990_1633.gif
 

필드 추가를 어떻게 하는지 모른다면

adm/menu_list.php 파일 상단쯤에


// 메뉴테이블 생성
if( !isset($g5['menu_table']) ){
    die('<meta charset="utf-8">dbconfig.php 파일에 <strong>$g5[\'menu_table\'] = G5_TABLE_PREFIX.\'menu\';</strong> 를 추가해 주세요.');
}
 

여기 바로 밑에 아래 내용 추가


if(!sql_query(" SELECT me_level from {$g5['menu_table']} limit 1 ")) {
    sql_query(" ALTER TABLE `{$g5['menu_table']}` ADD `me_level` tinyint(4) NOT NULL DEFAULT '0' AFTER `me_mobile_use` ", true);
}


위 코드 추가 후 관리자 페이지 > 환경설정 > 메뉴 설정 페이지에 접속

이미 접속해 있다면 브라우저 새로 고침 한번 실행

(메뉴 설정 페이지를 접속하면 자동으로 실행돼서 필드가 생성됩니다.)

필드 생성 후 추가했던 필드 생성 코드는 삭제해도 됩니다.



2. adm/menu_form.php 파일 수정


순서 설정 부분 아래에 다음 내용 추가


list += "<td class=\"td_numsmall\">";
list += "<label for=\"me_level_"+ms+"\"  class=\"sound_only\">권한<strong class=\"sound_only\"> 필수</strong></label>";
list += "<input type=\"text\" name=\"me_level[]\" value=\"0\" id=\"me_level_"+ms+"\" required class=\"required frm_input\" size=\"5\">";
list += "</td>";


위치는 아래 이미지 참고


c68b74b36a7bbd38b5097d4d8222b055_1522820350_4238.gif
 


3. adm/menu_list.php 파일 수정


3-1.

$colspan = 7; 부분을 $colspan = 8; 로 수정


3-2.

tr 부분 순서 아래에 권한 추가


<tr>
    <th scope="col">메뉴</th>
    <th scope="col">링크</th>
    <th scope="col">새창</th>
    <th scope="col">순서</th>
    <th scope="col">권한</th>
    <th scope="col">PC사용</th>
    <th scope="col">모바일사용</th>
    <th scope="col">관리</th>
</tr>


3-3.

td 부분 순서 아래에 권한 추가


<td class="td_num">
    <label for="me_level_<?php echo $i; ?>" class="sound_only">권한</label>
    <input type="text" name="me_level[]" value="<?php echo $row['me_level'] ?>" id="me_level_<?php echo $i; ?>" class="tbl_input" size="5">
</td>



4. adm/menu_list_update.php 파일 수정


메뉴 등록 쿼리에 권한 추가


me_level        = '".sql_real_escape_string(strip_tags($_POST['me_level'][$i]))."',


위치는 아래 이미지 참고


d44591b9c00b677827875879ede558eb_1582779771_8539.png
 


위 내용은 그누보드 버전 상관없이 공통으로 수정해야 하는 내용이고

아래 내용부터는 그누보드 버전별로 차이가 있으니 현재 사용하시는 버전에 맞게 수정하세요.




그누보드 5.3 버전


head.php 파일 수정


모바일은 mobile/head.php

테마 사용 중이면 테마 폴더에 있는 head.php


메뉴 출력 부분 쿼리에 추가

and me_level <= '{$member['mb_level']}'



상세 수정 위치는 아래 이미지 참고 (두 군데 모두 추가)


40b149a18d8dbd61f03065b8963a4860_1522812958_1456.gif 




그누보드 5.4 버전


lib/get_data.lib.php 파일 수정


function get_menu_db 함수를 찾은 후


1. global 변수에 $member; 추가
 

2. sql_query 부분에 아래 코드 추가

and me_level <= '{$member['mb_level']}'
 


상세 수정 위치는 아래 내용을 참고하세요.


d44591b9c00b677827875879ede558eb_1582780468_2395.png 

Comments

십일월 2021.11.12 21:36
처음으로 가입해요
번호 제목 글쓴이 날짜 조회
51 ❤오늘이벤트 ❤한 국❤실 사 보상제 ✦20 대 최상급 사이즈 매니저NF 대거 영입 옵션 가능❤내상 없는 휴양… 범시도 22:50 1
50 ❤오늘이벤트 ❤한 국❤실 사 보상제 ✦20 대 최상급 사이즈 매니저NF 대거 영입 옵션 가능❤내상 없는 휴양… 범시도 22:39 1
49 ❤오늘이벤트 ❤한 국❤실 사 보상제 ✦20 대 최상급 사이즈 매니저NF 대거 영입 옵션 가능❤내상 없는 휴양… 범시도 22:18 1
48 ❤오늘이벤트 ❤한 국❤실 사 보상제 ✦20 대 최상급 사이즈 매니저NF 대거 영입 옵션 가능❤내상 없는 휴… 범시도 01:05 1
47 ❤오늘이벤트 ❤한 국❤실 사 보상제 ✦20 대 최상급 사이즈 매니저NF 대거 영입 옵션 가능❤내상 없는 휴… 범시도 00:53 2
46 ❤오늘이벤트 ❤한 국❤실 사 보상제 ✦20 대 최상급 사이즈 매니저NF 대거 영입 옵션 가능❤내상 없는 휴… 범시도 00:32 1
45 fun888reward.com เว็บไซต์เข้าสู่ระบบที่ให้การเดิมพันกีฬาและค… jacktp 04.24 2
44 fun888reward.com เข้าสู่ระบบอย่างรวดเร็วและปลอดภัยสำหรับการเ… jacktp 04.24 1
43 fun888reward.com เว็บไซต์เข้าสู่ระบบโดยตรงอย่างรวดเร็วและปลอ… jacktp 04.24 3
42 ❤오늘이벤트 ❤한국❤실 사 보상제 ✦20 대 최상급 사이즈 매니저NF 대거 영입 옵션 가능❤내상 없는 휴양… 범시도 04.23 3
41 php에서 exif소스이용하기 가로수 2022.07.05 1562
40 OTDR 측정시 손실 추정값 댓글+1 가로수 2021.10.02 2378
39 ssss 가로수 2021.09.23 2031
38 1111 가로수 2021.09.23 3438
37 qqqq 가로수 2021.09.23 3393
36 광 케이블은 종류에 따라 수명이 달라지나요? 가로수 2021.09.16 2277
35 케이블의 국제 표준 및 국가 표준 가로수 2021.09.04 1972
34 광케이블 접속 손실 기준 가로수 2021.09.04 3222
33 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.12 2785
32 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.12 2885
Category
반응형 구글광고 등
State
  • 현재 접속자 6 명
  • 오늘 방문자 238 명
  • 어제 방문자 172 명
  • 최대 방문자 1,053 명
  • 전체 방문자 284,073 명
  • 전체 게시물 67 개
  • 전체 댓글수 5 개
  • 전체 회원수 33 명
Facebook Twitter GooglePlus KakaoStory NaverBand