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

themes/ — 테마 시스템

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

로그인 후 댓글을 작성할 수 있습니다.
5. 관리자 기능 사용법 회원 랭킹 2026.04.21 5. 관리자 기능 사용법 포인트샵 2026.04.21 5. 관리자 기능 사용법 레벨 관리 2026.04.21 5. 관리자 기능 사용법 포인트 관리 2026.04.21 5. 관리자 기능 사용법 문자 서비스 2026.04.21 5. 관리자 기능 사용법 메일 보내기 2026.04.21 5. 관리자 기능 사용법 회원 관리 2026.04.21 5. 관리자 기능 사용법 메뉴 관리 2026.04.21 5. 관리자 기능 사용법 인기글 2026.04.21 5. 관리자 기능 사용법 카테고리 2026.04.21 5. 관리자 기능 사용법 게시판 그룹 2026.04.21 5. 관리자 기능 사용법 페이지 관리 2026.04.21 5. 관리자 기능 사용법 전체 공지 2026.04.21 5. 관리자 기능 사용법 팝업 관리 2026.04.21 5. 관리자 기능 사용법 게시판 관리 2026.04.21 4.2 관리자 시스템 구조 관리자 UI 구조 2026.04.21 4.2 관리자 시스템 구조 관리자 라우팅 2026.04.21 4.1 CMS 아키텍처 데이터 흐름 연결 2026.04.21 4.1 CMS 아키텍처 DX 위에 CMS가 올라가는 구조 2026.04.21 3.10 모듈 로딩 구조 자동 로딩 구조 2026.04.21
31
전체 회원
503
전체 게시글
770
전체 댓글
441
오늘 방문
33,173
전체 방문
2
현재 접속
인기글 7일 이내
최신글
최신댓글
목록