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

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

가로수 1 3,136 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
처음으로 가입해요
번호 제목 글쓴이 날짜 조회
41 php에서 exif소스이용하기 가로수 2022.07.05 1555
40 OTDR 측정시 손실 추정값 댓글+1 가로수 2021.10.02 2374
39 ssss 가로수 2021.09.23 2027
38 1111 가로수 2021.09.23 3435
37 qqqq 가로수 2021.09.23 3389
36 광 케이블은 종류에 따라 수명이 달라지나요? 가로수 2021.09.16 2273
35 케이블의 국제 표준 및 국가 표준 가로수 2021.09.04 1970
34 광케이블 접속 손실 기준 가로수 2021.09.04 3213
33 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.12 2780
32 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.12 2880
31 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.11 3036
30 1206IPF-P 기능 가로수 2021.07.04 2750
29 Windows 설치된 MySQL 8 드라이브 변경(C에서 D로 변경) 가로수 2021.04.26 3949
28 기타를 조율하는 가로수 2021.03.19 2977
열람중 메뉴 권한 설정 회원 레벨별로 다르게 출력하기 댓글+1 가로수 2021.01.15 3137
26 비정품 가로수 2020.12.23 3189
25 재해예방기술지도 계약서 작성대상공사,지도기준,비용 견적(2020.1.1부터) 가로수 2020.06.24 7325
24 게시판 본문 내용 글자 수 제한 해제하기 - 글 내용이 잘리는 문제 해결 방법 가로수 2020.04.12 3660
23 Windows Server 2012 Standard 설치기.... 가로수 2020.01.30 3774
22 나만의 커스텀 윈도우10 만들기 가로수 2020.01.05 4304
Category
글이 없습니다.
글이 없습니다.
반응형 구글광고 등
State
  • 현재 접속자 5 명
  • 오늘 방문자 93 명
  • 어제 방문자 142 명
  • 최대 방문자 1,053 명
  • 전체 방문자 283,511 명
  • 전체 게시물 50 개
  • 전체 댓글수 5 개
  • 전체 회원수 31 명
Facebook Twitter GooglePlus KakaoStory NaverBand