질문/조언팁/리소스 공유

$grant->manager // 게시판 관리자 입니다.

게시판 설정 > 권한에서 회원 아이디를 넣어주면 게시판 관리자 됩니다. 그 사람이 $grant->manager 입니다.

$logged_info->is_admin === 'Y' // 최고관리자입니다.

 

최고관리자한테는 보이고 매니저(게시판 관리자)에게는 안보이게 할때는

$grant->manager 이 부분을 $logged_info->is_admin === 'Y' 로 교체하시면 됩니다.

 

게시판 스킨마다 다 틀리니 대충 해당 부분을 찾으셔야 합니다.

예를들어서 에덴보드의 일반형 게시판인 경우

모바일에서는 templates/list.html을 보여주고

PC일때는 templates/table.html 파일이 작동합니다.

(참 잘만드신거 같습니다. ㅎㅎ)

 

※ 주의 - 유료스킨 사용자는 스킨 수정하시면 as안되는거 감수하셔야 합니다.

 

우선 매니저(게시판관리자)는 게시판 설정을 못들어가게 하고 게시글 삭제도 못하게 하고 싶을때는

아래 목록화면에서 글선택 체크박스와 게시판 설정 톱니 아이콘을 없애주어야 합니다.

 

헐.. 그럼 게시판 관리자가 아니게 되는거지요? ㅎㅎ

그냥 내용 보여만 주고 싶을때 이 팁을 적용해보세요...

사이트 쓰임새는 아래에 설명해놓겠습니다. 보통 게시판별로 관리자를 두거나 회원정보를 받는 이벤트 사이트에 잘 맞을겁니다.

 

eden_0010.png

table.html 파일을 열여서

 

<block cond="$grant->manager"> 이런 부분을

<block cond="$logged_info->is_admin === 'Y'"> 이렇게 바꿔주시면 됩니다.

최고관리자한테는 보이고 게시판 관리자에게는 보이지 않습니다.

몇군데 있으니 위치를 찾아서 변경해주시면 됩니다.

 

에덴보드 특성상 모바일 페이지는 따로 파일이 존재하기 때문에 list.html 파일도

$grant->manager를 찾으셔서 똑같이 바꿔주시면 됩니다.

 

 

 

글 본문에도 글수정, 삭제, 휴지통 메뉴가 있기 때문에 거기도 수정을 해줘야 합니다.

article/article_edit.html

 

eden_0020.png

 

$oDocument->isEditable() 이 부분을 찾아서 없애고 싶은 메뉴를  $logged_info->is_admin === 'Y' 교체하시면 됩니다.

그러면 게시판 관리자에게는 보이지 않지만 최고관리자에겐 메뉴가 그대로 있습니다.

 

다른 스킨을 사용하시는 분들은 해당파일을 직접 찾으셔서 변경하시면 될듯합니다.

저도 프로그래머가 아닌지라.. 대충 이 파일 여기쯤이지 않을까 싶은 태그 옆에 11111111 쳐보고 위치 찾아서 다 바꿔주었습니다.

 

결론은 

$grant->manager  // 게시판 관리자

$logged_info->is_admin === 'Y' // 최고관리자

 

오늘도 팁게 질문방을 검색해보다가 제 사이트에 적용하고 혼자 뿌듯해하고 있습니다.

저처럼 플그램 잘 모르는 초보분들을 위해...

팁 아닌 팁을 남기고 갑니다. 팁 검색하실때 하나라도 더 검색결과 나오면 시간을 줄이지 않을까 하는 마음에...

 

오늘 정회원 되었어요~ 유후~~~

 

 

P.S 제 사이트 같은 경우에는

최고관리자가 게시판에 등록해놓은 이벤트 내용 하단에 달린 신청폼(윤삼님 작품 ^^ 정말 잘 쓰고 있습니다. 감사합니다.)에 비회원 또는 회원이 개인정보를 입력하고 상담신청을 하는 사이트입니다. 게시판 관리자는 지역별로 다 두고 있어서, 해당 게시판 관리자는 회원이 신청한 게시물을 보고 상담만 하면됩니다.

 

게시판 관리자(=지역별 대리점 또는 지사)는 회원상담 게시물을 볼때 포인트가 차감되기 때문에 (이때 수익으로 연결되는 중요한 시점) 게시판 관리자가 게시물을 삭제하거나 변조, 위조, 수정하면 안되는 그런 사이트입니다.

그런 사이트를 운영하시는분들께 이 팁이 도움이 되었으면 합니다.

물론 제가 작업해놔서 완벽하지 않아서 주소를 쳐서 들어오던가 어떤어떤 경로로 침투하면 삭제나 수정은 되겠죠...

하지만 우리의 대리점(게시판 관리자)은 컴퓨터 잘 몰라요... 그런거에 관심없으신 분들이니... 

초보 제작자로서 최대한 삭제나 수정하고픈 욕망(?)이 안들게끔 최소한의 도리를 다할뿐....

 

현재 18개 지역을 나누고 각 지역 게시판마다 게시판 관리자를 두고 게시물을 열람할때마다 게시판관리자(대리점 사장님들) 포인트가 차감되는 구조라 게시판을 이런식으로 변경을 해봤습니다.

물론 이런 게시판은 상담전용이고, 포인트도 차감되고 일반 커뮤니티 게시판 성격과 다르기 때문에...

게시판 스킨을 복사해서 이벤트 상담전용 게시판으로 사용하고 있습니다.

게시판 스킨 복사하실때 몇가지 바꿔주어야 합니다. 스킨폴더명, 그리고 skin.xml 파일에 <title xml:lang="ko">블라블라~</title> 이름을 다르게 해야 됩니다.

 

또 다르게 응용하셔서 게시판 관리자가 확인만 하는 사이트등에서 적용하시면 도움이 될지도 모르겠습니다.

 

다시한번 정리하자면

 

$grant->manager  // 게시판 관리자

$logged_info->is_admin === 'Y' // 최고관리자

 

보여 주느냐 마느냐.. 니 눈에는 안보이는데 내눈에는 보인다.

 

마지막으로...

부족한 부분은 이 글을 보시고 고수분들이 댓글로 똑바른 길로 인도해주실 겁니다. ㅎㅎ

  • profile
    $grant->is_admin, $grant->root라는 것도 있는데 사용하시는 분이 거의 없더군요. 만약 이걸 사용할 수 있다면 $logged_info->is_admin === 'Y'보다 훨씬 짧고 간결하게 구현될 것 같습니다.
  • profile profile
    $grant->is_admin, $grant->root 이 구문을 써도 똑같은 최고관리자 효과가 나나요?