05. 게시판 스킨

05. 게시판 스킨

게시판 모듈의 외관과 기능을 커스터마이징하는 방법을 학습합니다.

📋 이 섹션에서 다루는 내용

구조 이해

기본 기능

고급 기능

실전 예제

🎯 학습 목표

이 섹션을 완료하면 다음을 할 수 있습니다:
- 게시판 스킨의 구조 이해
- 커스텀 게시판 스킨 제작
- 다양한 형태의 게시판 구현
- 확장 변수 활용

📁 게시판 스킨 구조

modules/board/skins/my_skin/
├── skin.xml              # 스킨 정보
├── list.html             # 목록 페이지
├── write_form.html       # 글쓰기 폼
├── view_document.html    # 글 보기
├── comment_form.html     # 댓글 폼
├── _comment.html         # 댓글 목록
├── _header.html          # 공통 헤더
├── _footer.html          # 공통 푸터
└── assets/
    ├── css/
    ├── js/
    └── img/

💡 주요 변수

list.html

$document_list     // 문서 목록
$notice_list       // 공지사항 목록
$total_count       // 전체 글 수
$total_page        // 전체 페이지 수
$page              // 현재 페이지
$page_navigation   // 페이지 네비게이션

write_form.html

$oDocument         // 문서 객체 (수정시)
$category_list     // 카테고리 목록
$extra_vars        // 확장 변수

댓글 관련

$oDocument->getComments()     // 댓글 목록
$oComment                     // 댓글 객체
$grant->write_comment         // 댓글 작성 권한

🔧 커스터마이징 예제

리스트 아이템 커스터마이징

<tr loop="$document_list=>$no,$document">
    <td>{$no}</td>
    <td class="title">
        <a href="{getUrl('document_srl',$document->document_srl)}">
            {$document->getTitle()}
            <span class="comment-count" cond="$document->getCommentCount()">
                [{$document->getCommentCount()}]
            </span>
        </a>
    </td>
    <td>{$document->getNickName()}</td>
    <td>{$document->getRegdate('Y.m.d')}</td>
    <td>{$document->get('readed_count')}</td>
</tr>

다음 단계

게시판 스킨의 기본을 익혔다면 더 고급 기능인 위젯 제작 방법을 학습하세요.