회원가입 | 고객센터 |
DESIGNONEX
dxcms.kr
로그인 회원가입
고객센터
3.2 폴더 구조

boards/ — 게시판 시스템

D DX
2026.04.21 00:34(수정됨) 129 0

boards/ — 게시판 시스템

게시판 핵심 처리 로직과 스킨 템플릿이 위치합니다. handler.php 하나가 목록•보기•쓰기•수정•삭제•댓글을 모두 처리하며, 스킨 시스템을 통해 게시판별 독립적인 UI를 적용할 수 있습니다.
 
boards/
├── handler.php           ← 게시판 공통 핸들러 v2.6.3
├── skins/                ← 게시판 스킨 폴더
│   ├── SKIN_GUIDE.md     ← 스킨 개발 가이드 문서
│   ├── gallery/          ← 갤러리형 스킨 (이미지 썸네일 목록)
│   │   ├── skin.json     ← 스킨 메타 정보 (이름•버전•지원 액션)
│   │   ├── list.php      ← 갤러리 목록 뷰
│   │   ├── view.php      ← 갤러리 상세 뷰
│   │   ├── write.php     ← 갤러리 작성 폼
│   │   └── _list_rows.php← 목록 행 파셜 (AJAX 부분 갱신용)
│   └── shop/             ← 쇼핑몰형 스킨 (상품 목록•상세)
│       ├── skin.json
│       ├── list.php
│       └── actions/      ← 커스텀 액션 파일
│           └── cart.php  ← /게시판키/cart URL 처리
└── category/             ← 카테고리 탭 스킨
    └── skins/            ← 카테고리 표시 스킨
        └── default/      ← 기본 카테고리 탭 스킨


handler.php 의 6단계 스킨 탐색 우선순위

// 스킨 파일 탐색 순서 (handler.php 내부 DxBoardSkin::resolve())
① boards/skins/{스킨}/{액션}/handler.php    ← 완전 독립 핸들러 (DB쿼리~렌더 모두)
② boards/skins/{스킨}/{액션}.php            ← 독립 뷰 (데이터는 handler.php 제공)
③ themes/{테마}/board/{스킨}/{액션}.php     ← 테마+스킨 조합
④ themes/{테마}/board/{액션}.php            ← 테마 기본 스킨
⑤ themes/default/board/{스킨}/{액션}.php   ← default 테마+스킨
⑥ themes/default/board/{액션}.php          ← 최종 폴백 (항상 존재)


스킨 개발 — skin.json 구조

// boards/skins/my-skin/skin.json
{
    "name":        "My 스킨",
    "version":     "1.0.0",
    "author":      "개발자 이름",
    "description": "스킨 설명",
    "actions": ["list", "view", "write", "inventory"],  // 지원하는 액션
    "config": {                                             // 관리자 설정 가능 값
        "per_page":    "20",
        "date_format": "Y-m-d"
    }
}


커스텀 액션 (표준 URL 외 확장)

  • 표준 액션: list / view / write / edit / delete / reply / search
  • 커스텀 액션 파일 위치: boards/skins/{스킨}/actions/{액션}.php
  • URL 예시: /게시판키/inventory → boards/skins/erp/actions/inventory.php
  • 커스텀 액션에서도 $board, $auth, $db 변수가 자동 주입됩니다



 

댓글0

로그인 후 댓글을 작성할 수 있습니다.
3.10 모듈 로딩 구조 플러그인 / 확장 로딩 방식 2026.04.21 3.9 공통 함수 / 유틸 재사용 방식 2026.04.21 3.9 공통 함수 / 유틸 공통 클래스 구조 2026.04.21 3.9 공통 함수 / 유틸 전역 함수 구조 2026.04.21 3.8 Extend 구조 실제 적용 흐름 2026.04.21 3.8 Extend 구조 Extend 개념 2026.04.21 3.7 Hook 시스템 Hook 시스템 활용 사례 2026.04.21 3.7 Hook 시스템 실행 타이밍 2026.04.21 3.7 Hook 시스템 Hook 개념 2026.04.21 3.6 데이터 처리 구조 공통 함수 활용 2026.04.21 3.6 데이터 처리 구조 데이터 흐름 상세 기술 2026.04.21 3.6 데이터 처리 구조 DB 접근 방식 2026.04.21 3.5 컨트롤러 구조 컨트롤러 구조 • 데이터 전달 • 실행 방식 • 역할 2026.04.21 3.4 라우팅 시스템 URL 처리 방식 • 라우팅 규칙 • 동적 라이팅 2026.04.21 3.3 실행 흐름 초기 로딩 과정 및 공통 초기화 흐름 2026.04.21 3.2 폴더 구조 install/ — 설치 및 마이그레이션 2026.04.21 3.2 폴더 구조 pages/ — 커스텀 페이지 2026.04.21 3.2 폴더 구조 data/ — 런타임 데이터 2026.04.21 3.2 폴더 구조 extend/ — 코드 자동 삽입 2026.04.21 3.2 폴더 구조 routes/ + controllers/ — 라라벨 스타일 라우팅 2026.04.21
31
전체 회원
503
전체 게시글
770
전체 댓글
441
오늘 방문
33,173
전체 방문
2
현재 접속
인기글 7일 이내
최신글
최신댓글
목록