[[게시판 스킨]]
시작페이지 문서 이력
최근 변경내역
Home > 그누보드 > 스킨개발 > 게시판 스킨
PLEASE DON'T USE AdBlock

게시판 스킨

DOC 다운로드

게시판 스킨 시스템 구조

그누보드의 가장 핵심이 되는 게시판의 스킨은, 기본적으로 글목록보기 (list), 글보기 (view), 댓글보기 (view_comment), 글쓰기 (write) 등의 화면과 기능을 담당합니다.

각 기능의 스킨 화일들 (*.skin.php) 이용해서 실제 화면을 구성하는 실제 기능은, /bbs 폴더의 list.php, view.php, view_comment.php, write.php 등에서 수행합니다. 예를 들어, list.php 화일에서 준비된 게시판 목록 정보를, list.skin.php 에서 원하는 형태로 화면에 뿌려줍니다. 즉, 그누보드의 코어에 해당하는 /bbs 아래의 화일들을 수정하지 않고 스킨 화일을 수정해서 원하는 작업을 수행하도록 되어 있습니다.

원하는 작업을 하기 위해서 몇단계의 정해진 skin 화일들 (*.head.skin.php -> *.skin.php -> *.tail.skin.php)을 순서대로 이용하게 됩니다. 일반적으로,

  1. 전처리를 담당하는 *.head.skin.php는 해당 기능을 처리하기 전에 해야할 일을 넣고,
    • 많은 경우, 해당 기능을 수행할 조건 판단 (예, 글작성 회원레벨 확인)전에 수행하는 보다 일반적인 절차를 담당하거나, 원래의 기능 수행 (예, 디비에서 글목록 구해오기)전에 정보를 조정하여 스킨에 특화된 기능을 수행하도록 조절하는데에 사용됩니다.
  2. *.php에서 필요한 정보를 준비한 후
  3. *.skin.php를 이용하여 화면에 뿌려주게 됩니다.
  4. 마지막으로, 후처리를 담당하는 *.tail.skin.php는, *.skin.php 를 거치면서 변경된 정보를 처리할때 이용됩니다.
    • 하지만, *.tail.skin.php가 일반적으로 *.skin.php 바로 다음 라인에서 include 되기에 굳이 *.tail.skin.php로 구분하는 일은 드믑니다.

예를 들어, 글보기에 해당하는 기능은, view.head.skin.php -> view.php의 원래 기능: 해당글 내용 준비 -> view.skin.php -> view.tail.skin.php 순으로 순차적으로 이용하게 됩니다.

한 게시판 스킨에 들어갈 수 있는 스킨 화일들은 다음과 같습니다. 필요여부 항목에서 볼 수 있듯이, 게시판 스킨에 꼭 필요로 하는 스킨 화일은, list.skin.php, view.skin.php, view_comment.skin.php 그리고 write.skin.php, 총 네 화일 입니다.

/bbs 호출화일 /skin/board/ 스킨화일 기능 또는 사용 용도 사용할 수 있는 변수 필요여부
/bbs/list.php /스킨이름/list.skin.php 글 목록 화면 구성
$list[][항목]
필요
/bbs/view.php /스킨이름/view.head.skin.php 글 보기 화면 전처리 -
/스킨이름/view.skin.php 글 보기 화면 구성
$view[항목]
필요
/스킨이름/view.tail.skin.php 글 보기 화면 후처리
$view[항목]
1)
/bbs/view_comment.php /스킨이름/view_comment.head.skin.php 댓글 보기 화면 전처리 -
/스킨이름/view_comment.skin.php 댓글 보기 화면 구성
$list[][항목]
필요
/스킨이름/view_comment.tail.skin.php 댓글 보기 화면 후처리
$list[][항목]
+ α
/bbs/write_comment_update.php /스킨이름/write_comment_update.head.skin.php 댓글 쓰기 전처리
$_POST[항목]
/스킨이름/write_comment_update.skin.php 댓글 쓰기 처리
/스킨이름/write_comment_update.tail.skin.php 댓글 쓰기 후처리
/bbs/write.php /write.head.skin.php 모든 게시판 글쓰기 스킨에 적용되는 전처리2) -
/스킨이름/write.head.skin.php 글 쓰기 화면 전처리 -
/스킨이름/write.skin.php 글 쓰기 화면 구성 글 수정인 경우
$write[항목]
필요
/스킨이름/write.tail.skin.php 글 쓰기 화면 후처리
$write[항목]
+ α
/bbs/write_update.php /스킨이름/write_update.head.skin.php 글 쓰기 전처리
$_POST[항목]
/스킨이름/write_update.skin.php 글 쓰기 처리, 별도의 디비처리 수행할 수 있음
/스킨이름/write_update.tail.skin.php 글 쓰기 후처리

오픈코드 참고글

게시판과 관련된 작업흐름

  1. 글/댓글읽기: 게시판선택 -> 글목록 보여주기 -> 목록중 한 글을 선택하기 -> 글 보여주기 + 관련 댓글 보여주기
    1. 댓글쓰기: 댓글입력 -> 입력받은 댓글 내용 저장하기 -> 원글과 작성/수정된 댓글 보여주기
  2. 글쓰기: 글쓰기 버튼 클릭 -> 글쓰기 화면 보여주기 -> 입력받은 글 내용 저장하기 -> 작성/수정된 글 보여주기

1) view.skin.php에서 정의/사용된 변수들
2) 스킨폴더안에 없기때문에 스킨으로 배포되는 경우가 거의 없음
업데이트 : 2015-09-21 15:16 / 작성자 : 최고관리자 / 조회 : 10,469
공헌자 : admin
시작페이지
문서 이력