객실안내 자유게시판 로그인 회원가입 실시간 예약

themes/ — 테마 시스템

3.2 폴더 구조

themes/ — 테마 시스템

D DX
2026.04.21 00:43(수정됨) 157 0

themes/ — 테마 시스템

사이트 프론트엔드의 모든 HTML•CSS를 담당합니다. 현재 default 테마가 포함되어 있으며, 추가 테마를 이 폴더에 배치하면 관리자에서 선택할 수 있습니다.
 
themes/
└── default/                   ← 기본 테마 (항상 존재, 폴백 기준)
    ├── theme.json             ← 테마 메타 정보 (이름•버전•설명)
    ├── style.css              ← 전역 스타일 (CSS 커스텀 프로퍼티 기반)
    ├── layout/               ← 페이지 레이아웃 템플릿
    │   └── main.php          ← 헤더+본문+푸터 통합 레이아웃
    ├── board/                ← 게시판 스킨 오버라이드
    │   ├── list.php          ← 게시판 목록 (기본 스킨)
    │   ├── view.php          ← 게시글 상세
    │   ├── write.php         ← 게시글 작성•수정 폼
    │   └── _list_rows.php    ← 목록 행 파셜 (AJAX 갱신용)
    ├── board_latest/         ← 최신글 위젯 스킨 3종
    │   ├── list.php          ← 제목+날짜 리스트형
    │   ├── card.php          ← 썸네일+제목+발췌 카드형
    │   └── simple.php        ← 제목만 초경량형
    ├── page/                 ← 특수 페이지 템플릿
    │   ├── home.php          ← 홈 페이지 (선택, 없으면 pages/home.php 폴백)
    │   ├── 404.php           ← 404 오류 페이지
    │   └── 403.php           ← 403 접근 거부 페이지
    ├── parts/                ← 재사용 파셜 컴포넌트
    │   └── pagination.php    ← 페이지네이션 UI
    ├── search/               ← 검색 결과 페이지
    │   └── list.php
    └── icons/                ← 테마 전용 아이콘 파일


테마 폴백 체인

커스텀 테마에 파일이 없으면 자동으로 default 테마 파일을 사용합니다. 커스텀 테마는 변경이 필요한 파일만 오버라이드하면 됩니다.
 
// DxTheme::resolve('board/list.php') 내부 탐색 순서
// 예: 현재 테마가 'my-theme'
1. themes/my-theme/board/list.php   ← 있으면 즉시 반환
2. themes/default/board/list.php    ← 없으면 여기서 반환
3. 404 처리  


layout/main.php 의 구조

테마의 핵심 파일로, 모든 페이지의 HTML 전체 구조(헤더•내비게이션•본문•푸터)를 렌더링합니다.
 
// main.php 실행 순서 (요약)
① DxSeo::build() — OG/Twitter Card/JSON-LD 자동 생성
② 메뉴 쿼리 (멀티사이트 도메인별 독립 메뉴 지원)
③ <head> 태그 출력 + dx_run_hook('dx_head')
④ 네비게이션 바 출력 (로그인•비로그인 분기)
⑤ $dx_content 출력 (게시판•페이지 등 핸들러가 생성한 본문)
⑥ 푸터 (사이트 설정에서 로드: 회사명•대표자•사업자번호 등)
⑦ dx_run_hook('dx_body_bottom') — 팝업•GA•소켓 등


board_latest/ — 최신글 위젯

테마 레이아웃이나 홈 페이지에서 최신 게시글을 보여주는 위젯 스킨입니다.
 
// 사용 예 (테마 파일 내부)
<?php echo dx_board_latest('free', 5, 'card'); ?>
// 파라미터: board_key, 개수, 스킨명 (list | card | simple)
// 자동으로 themes/default/board_latest/card.php 를 렌더링

댓글0

로그인 후 댓글을 작성할 수 있습니다.
메뉴얼 119
16. 이슈 가이드 DX DarkMode Engine v4.2.0 2026.05.26 17. 사용자 동영상 가이드 16. 멀티사이트 관리 활용 가이드 2026.05.25 17. 사용자 동영상 가이드 15. 소켓(Socket) 설정 가이드 2026.05.25 17. 사용자 동영상 가이드 14. 마켓 스킨 설치 및 적용 가이드 2026.05.25 17. 사용자 동영상 가이드 13. 플러그인 관리 및 에디터 설정 가이드 2026.05.25 17. 사용자 동영상 가이드 12. 게시판 무한 확장 필드 관리 가이드 2026.05.25 17. 사용자 동영상 가이드 11. 메뉴 관리 및 구성 가이드 2026.05.25 17. 사용자 동영상 가이드 10. 카테고리 관리 기능 가이드 2026.05.25 17. 사용자 동영상 가이드 9. 게시판 관리 기능 가이드 2026.05.25 17. 사용자 동영상 가이드 8. 게시판 생성 및 작성 가이드 2026.05.25 17. 사용자 동영상 가이드 7. 팝업 관리 가이드 2026.05.25 17. 사용자 동영상 가이드 6. 폼 입력 및 처리 페이지 연동 가이드 2026.05.25 17. 사용자 동영상 가이드 5.정적 페이지 생성 가이드 (PHP 파일 직접 연동) 2026.05.25 17. 사용자 동영상 가이드 4. 정적 페이지 생성 가이드 (글로벌 vs 개별 도메인) 2026.05.25 17. 사용자 동영상 가이드 3. 메뉴 접근 권한 설정 가이드 2026.05.25 17. 사용자 동영상 가이드 2. 관리자 -> 메뉴 추가 및 관리 가이드 2026.05.25 17. 사용자 동영상 가이드 1. 서버 업로드 및 초기 환경 구축 안내 2026.05.25 7. 테마 DXCMS 테마 개발 AI 프롬프트 스킬과 멀티사이트 체험 2026.05.23 6. 게시판 DXCMS 게시판 스킨 만들기 Prompt Skill 2026.05.23 16. 이슈 가이드 막코딩 필수 규칙 2026.05.21