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

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

가로수 0 560 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

번호 제목 글쓴이 날짜 조회
34 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 07.12 40
33 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 07.12 32
32 초점 시프트 촬영 후 합성(이미지 스택)하는 방법 가로수 07.11 35
31 1206IPF-P 기능 가로수 07.04 48
30 Windows 설치된 MySQL 8 드라이브 변경(C에서 D로 변경) 가로수 04.26 226
29 기타를 조율하는 가로수 03.19 495
열람중 메뉴 권한 설정 회원 레벨별로 다르게 출력하기 가로수 01.15 561
27 비정품 가로수 2020.12.23 641
26 재해예방기술지도 계약서 작성대상공사,지도기준,비용 견적(2020.1.1부터) 가로수 2020.06.24 2139
25 게시판 본문 내용 글자 수 제한 해제하기 - 글 내용이 잘리는 문제 해결 방법 가로수 2020.04.12 1286
24 Windows Server 2012 Standard 설치기.... 가로수 2020.01.30 1343
23 나만의 커스텀 윈도우10 만들기 가로수 2020.01.05 1461
22 스마트폰 사주는 순간 너를 잃을 수 있다는 게 두렵다 가로수 2019.11.16 1968
21 윈도우10 디펜더 끄기 가로수 2019.11.08 1401
20 편두통 가로수 2019.11.01 1979
19 php 에러 출력하기 가로수 2019.09.20 2
18 독버섯 가로수 2019.09.12 2443
17 전날 밤 꾼 꿈으로 내 건강 상태를 확인한다? 가로수 2019.08.25 1935
16 머리가 핑그르르, 갑자기 어지러운 이유는? 가로수 2019.08.20 1794
15 Windows MySQL 5.7 datadir 경로 변경 가로수 2019.08.18 1635
Category
반응형 구글광고 등
State
  • 현재 접속자 3 명
  • 오늘 방문자 21 명
  • 어제 방문자 53 명
  • 최대 방문자 558 명
  • 전체 방문자 131,676 명
  • 전체 게시물 253 개
  • 전체 댓글수 0 개
  • 전체 회원수 2 명
Facebook Twitter GooglePlus KakaoStory NaverBand