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

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

가로수 1 3,150 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
처음으로 가입해요
번호 제목 글쓴이 날짜 조회
21 1111 가로수 2021.09.23 3441
20 qqqq 가로수 2021.09.23 3399
19 광케이블 접속 손실 기준 가로수 2021.09.04 3231
18 비정품 가로수 2020.12.23 3200
열람중 메뉴 권한 설정 회원 레벨별로 다르게 출력하기 댓글+1 가로수 2021.01.15 3151
16 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.11 3047
15 기타를 조율하는 가로수 2021.03.19 2988
14 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.12 2891
13 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.12 2789
12 1206IPF-P 기능 가로수 2021.07.04 2759
11 OTDR 측정시 손실 추정값 댓글+1 가로수 2021.10.02 2382
10 광 케이블은 종류에 따라 수명이 달라지나요? 가로수 2021.09.16 2283
9 ssss 가로수 2021.09.23 2035
8 케이블의 국제 표준 및 국가 표준 가로수 2021.09.04 1977
7 php에서 exif소스이용하기 가로수 2022.07.05 1565
6 전선 종류 가로수 2019.08.01 9
5 자동 가상 컴퓨터 정품 인증-Windows Server 2012 R2 가로수 2019.05.14 6
4 PA 의 의미 가로수 2019.06.03 4
3 KMS 클라이언트 설정 키(KMS Client Setup Keys) 및 정품 인증 방법 가로수 2019.05.14 4
2 php 에러 출력하기 가로수 2019.09.20 3
Category
글이 없습니다.
글이 없습니다.
반응형 구글광고 등
State
  • 현재 접속자 2 명
  • 오늘 방문자 80 명
  • 어제 방문자 337 명
  • 최대 방문자 1,053 명
  • 전체 방문자 284,794 명
  • 전체 게시물 50 개
  • 전체 댓글수 5 개
  • 전체 회원수 33 명
Facebook Twitter GooglePlus KakaoStory NaverBand