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

themes/ — 테마 시스템

D DX
2026.04.21 00:43(수정됨) 135 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

로그인 후 댓글을 작성할 수 있습니다.
7. 테마 DXCMS 테마 개발 AI 프롬프트 스킬과 멀티사이트 체험 2026.05.23 6. 게시판 DXCMS 게시판 스킨 만들기 Prompt Skill 2026.05.23 16. 이슈 가이드 막코딩 필수 규칙 2026.05.21 16. 이슈 가이드 그누보드의 `_common.php` 처럼, `dx_load.php` 한 줄로 DXCMS의 모든 기능을 사용하는 방법입니다. 2026.05.21 15. 마켓 개발자 가이드 마켓 다운로드 보호 설정 가이드 2026.05.20 6. 게시판 게시판 여분 필드 (Board Extra Fields) 사용 가이드 2026.05.19 14. 데이터베이스 Database 직접 쿼리 개발 2026.05.19 14. 데이터베이스 DB스키마 2026.05.12 13. 보안 기본 보안 구조 2026.05.10 12. 성능 / 최적화 트래픽 대응 2026.05.10 12. 성능 / 최적화 정적 리소스 관리 2026.05.10 12. 성능 / 최적화 캐싱 전략 2026.05.10 11. 인증 / 로그인 시스템 세션 처리 구조 2026.05.10 11. 인증 / 로그인 시스템 인증 흐름 2026.05.10 11. 인증 / 로그인 시스템 소셜 로그인 2026.05.10 11. 인증 / 로그인 시스템 일반 로그인 2026.05.10 10. 마이페이지 마이페이지 구조 2026.05.10 9. 채팅 채팅 제작 2026.05.10 9. 채팅 채팅 구조 2026.05.10 3.8 Extend 구조 Extend 실제 소스 코드 완전 분석 • 12가지 실전 사례 2026.05.02
31
전체 회원
503
전체 게시글
770
전체 댓글
441
오늘 방문
33,173
전체 방문
2
현재 접속
인기글 7일 이내
최신글
최신댓글
목록