메뉴 설정 회원 레벨별로 다르게 출력하기 > 그누보드팁

본문 바로가기
전체검색

그누스킨닷컴

그누보드팁

그누보드 영카트 초보 사용자를 위한 기본 매뉴얼, 스킨 제작 기초강좌를 공유합니다.

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

페이지 정보

작성자 관리자 작성일18-04-04 12:21 조회779회

본문

그누보드팁

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

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

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



1. DB 수정


g5_menu 테이블에 me_level 필드 추가


40b149a18d8dbd61f03065b8963a4860_1522812990_1633.gif
 

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

adm/menu_list.php 파일 상단쯤에


include_once('./_common.php');

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


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        = '{$_POST['me_level'][$i]}',


위치는 아래 이미지 참고


40b149a18d8dbd61f03065b8963a4860_1522812640_1502.gif 



5. head.php 파일 수정


메뉴 출력 부분 쿼리에 추가


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


모바일은 mobile/head.php

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


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


40b149a18d8dbd61f03065b8963a4860_1522812958_1456.gif 

hup님의 댓글

hup

위 내용을 따라 정확히(3번 이상 확인 함)수정하였으나...

지정한 레벨 이하에서 메뉴가 출력되지 않아야 하겠으나...
 
여전히 모든 레벨의 회원에게 출력이 되는군요.

관련 링크입니다.

http://study24.kr/

test03 / test03 입니다.

관리자님의 댓글

관리자 댓글의 댓글

이렇게 봐서는 확인할 수 없습니다. 저도 여러번 테스트했었고 방금 또 해봤는데 문제없이 잘 됩니다.
수정을 다른 파일을 하신거 아닌가요. 테마 사용 중이면 테마 폴더 head.php 파일을 수정해야 합니다.
db 필드 생성과 수정 부분들 다시 체크하시라고 말씀드릴 수밖에 없네요.

커뮤니티는 당분간 중단하겠습니다.
그누보드팁 목록
번호 제목
공지 그누보드 팁 자료실 공지사항
127 관리자 페이지에서 출력 순서대로 게시판 목록 정렬
126 관리자 페이지 회원 목록에서 회원 정보 일괄 수정하기
125 포인트 내역 전체 초기화 모든 회원 포인트를 0으로 변경
124 게시판 페이지 타이틀 수정 방법
123 메일 발송 기능 사용 시 네이버 스팸메일함으로 분류되는 원인
122 게시판 글 등록 시 메일 발송 비회원은 발송되지 않을 때 해결 방법
121 전체 최신글에서 특정 게시판 출력 제외하기
120 메뉴 설정에서 메뉴코드 me_code 출력하기
119 특정 메뉴 색상을 다르게 설정하기
118 어느 검색 사이트에서 링크 타고 왔는지 확인하는 방법
117 에디터 입력화면 세로 높이 수정 smarteditor2, ckeditor4, cheditor5
116 오토셋(Autoset) 사용방법6 - 가상 호스트 설정 댓글2
115 네이버 소셜로그인 네아로 검수요청 신청서 작성 방법
114 파일 업로드시 파일명 변경 없이 원본 그대로 업로드
113 로그인 영역을 오른쪽에서 왼쪽으로 이동
112 1:1 문의 게시판에 새글이나 답변글 등록시 쪽지 발송하기
111 그누보드 5.3 버전 기본 메뉴 중앙 정렬하기
110 자동등록방지 캡챠(kcaptcha)코드 삭제 - 그누보드 5.3 버전
109 네아로, 네이버 소셜 로그인으로 가입시 닉네임 값에 이메일 아이디가 입력될 경우 댓글1
108 MySQL 버전 차이로 phpmyadmin 에서 DB 필드 타입 변경이 안 될 때
107 네이버 구글 검색 서브 링크
106 메인 메뉴 3차까지 추가하기
105 모바일 브라우저에서 링크 터치 하이라이트 제거 (링크 클릭 영역)
104 그누보드 5.3 기본 레이아웃 전체 가로 사이즈 변경
게시물 검색


그누스터디는 그누보드, 영카트 초보 사용자를 위한 정보를 공유합니다.

Copyright © GNUSTUDY. All rights reserved.
상단으로