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

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

가로수 1 3,254 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소스이용하기 댓글+1 가로수 2022.07.05 1636
40 OTDR 측정시 손실 추정값 댓글+2 가로수 2021.10.02 2476
39 ssss 댓글+1 가로수 2021.09.23 2153
38 1111 가로수 2021.09.23 3677
37 qqqq 가로수 2021.09.23 3610
36 광 케이블은 종류에 따라 수명이 달라지나요? 가로수 2021.09.16 2405
35 케이블의 국제 표준 및 국가 표준 가로수 2021.09.04 2084
34 광케이블 접속 손실 기준 가로수 2021.09.04 3341
33 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.12 2958
32 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.12 3074
31 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 2021.07.11 3221
30 1206IPF-P 기능 가로수 2021.07.04 2892
29 Windows 설치된 MySQL 8 드라이브 변경(C에서 D로 변경) 가로수 2021.04.26 4120
28 기타를 조율하는 가로수 2021.03.19 3097
열람중 메뉴 권한 설정 회원 레벨별로 다르게 출력하기 댓글+1 가로수 2021.01.15 3255
26 비정품 가로수 2020.12.23 3365
25 재해예방기술지도 계약서 작성대상공사,지도기준,비용 견적(2020.1.1부터) 가로수 2020.06.24 7791
24 게시판 본문 내용 글자 수 제한 해제하기 - 글 내용이 잘리는 문제 해결 방법 가로수 2020.04.12 3758
23 Windows Server 2012 Standard 설치기.... 가로수 2020.01.30 3932
22 나만의 커스텀 윈도우10 만들기 가로수 2020.01.05 4485
Category
반응형 구글광고 등
State
  • 현재 접속자 31 명
  • 오늘 방문자 236 명
  • 어제 방문자 357 명
  • 최대 방문자 1,053 명
  • 전체 방문자 289,882 명
  • 전체 게시물 50 개
  • 전체 댓글수 8 개
  • 전체 회원수 35 명
Facebook Twitter GooglePlus KakaoStory NaverBand