More

XE 게시판 글쓰기 버튼 로그인한 관리자만 볼 수 있게 설정하는 방법

XpressEngine을 사용하는 XE게시판이 참 편리한데 게시판 글쓰기 버튼을 관리자만 볼 수 있게 하는 기능이 관리자모드를 아무리 찾아봐도 없어서 찾아봤습니다. 글쓰기 설정을 관리자만 할 수 있게 설정할 순 있지만 로그인 안 한 사용자들이 글쓰기 버튼을 누르면 로그인 페이지로 이동하는 문제가 있어 설정해야 합니다.

로그인-안했을때
로그인 안 한 사용자도 쓰기 버튼이 노출되는 모습


XE코드 수정

관리자모드에서 설정이 불가능 하므로 list.html 파일의 코드 수정을 해야 합니다. list.html 파일은 아래 경로에 있고 주의할 점은 스킨 폴더가 m.skins도 있기 때문에 구별을 잘 하셔야 하는 점과 내가 사용 중인 스킨이 default 가 아니면 해당 스킨 폴더로 접속해야 한다는 점입니다.

파일경로 : modules/board/skins/default 


list.html 파일 수정

list.html 에서 아래 코드를 찾습니다.

<a href="{getUrl('act','dispBoardWrite','document_srl','')}" rel="nofollow" class="btn">{$lang->cmd_write}</a> 


수정해야하는-코드
이 코드를 수정해야 합니다

이 코드에 a태그에 cond="$logged_info->is_admin=='Y'" 또는 cond="$grant->manager" 를 추가하면 됩니다. 추가하면 아래와 같은 모습입니다.

<a cond="$logged_info->is_admin=='Y'" href="{getUrl('act','dispBoardWrite','document_srl','')}" rel="nofollow" class="btn">{$lang->cmd_write}</a> 


코드-수정방법
is_admin=='Y' 를 넣어 줄 경우

코드-수정방법
grant->manager 를 넣어 줄 경우


수정 완료 후 체크

수정 후 저장하여 체크해봅니다.

로그인-안하면-버튼안보임
로그인 안 한 사용자들은 쓰기 버튼이 나오지 않습니다

관리자만-쓰기버튼-보임
관리자 로그인 한 상태. 쓰기 버튼이 표시됩니다