[최신글 3/13] 번들 스킨 5종과 스킨 이름 규칙 — DXCMS
키워드: 스킨, list, card, simple, gallery/grid, gallery/slide, 폴백, 스킨 이름 표기: (소스)=코드 확인·실행 검증, (README)=README 기재, (일반)=일반 지식
번들 스킨 (themes/default/board_latest/) (소스)
- basic/list (= 'list'): 제목 + 댓글 수 + 날짜 한 줄 목록. 24시간 이내 글에 N 배지, 비밀글은 자물쇠와 "비밀글"로 표시
- basic/card (= 'card'): 제목 + 발췌 + 메타 카드형 목록
- basic/simple (= 'simple'): 테두리 없는 미니멀 목록
- gallery/grid: 썸네일 그리드 (기본 3열, 반응형 2열/1열). 썸네일이 없으면 텍스트 플레이스홀더
- gallery/slide: 썸네일 가로 슬라이드 (스크롤 스냅, 제목 오버레이)
- 갤러리 스킨은 썸네일이 필요하므로 이미지가 있는 게시판에 사용
호출 예
<?php dx_board_latest('notice', 5, 'basic/simple', '공지사항'); ?>
<?php dx_board_latest('gallery', 6, 'gallery/grid', '갤러리'); ?>
<?php dx_board_latest('gallery', 8, 'gallery/slide', '갤러리', '🖼️'); ?>
스킨 이름 규칙 (소스, 실행 검증)
- 허용 문자: 소문자 a-z, 숫자, _, -, / 만. 나머지 문자는 조용히 제거됩니다.
- 대문자(LIST), 공백(My Skin), ../ 는 모두 걸러져 결국 basic/list 로 대체됩니다. 오류 메시지는 없습니다.
- 슬래시로 하위 폴더 지정 가능: 'gallery/grid' → board_latest/gallery/grid.php
스킨 파일을 찾는 순서 (DxTheme::resolveLatestSkin)
- themes/{현재테마}/board_latest/{스킨}.php (현재 테마가 default 가 아닐 때)
- themes/default/board_latest/{스킨}.php
- 이름에 슬래시가 없으면 {현재테마}/board_latest/basic/{스킨}.php, default/board_latest/basic/{스킨}.php
- themes/default/board_latest/basic/list.php (최종 폴백)
- themes/default/board_latest/list.php (구버전 호환)
- 현재 테마는 설정값 theme(관리자 테마 설정)이며, 폴더가 없으면 default 로 처리됩니다.
- 그래서 내 테마에 같은 이름의 스킨 파일을 두면 번들 스킨을 덮어쓸 수 있습니다.
다음: 4/13 사용 예제 ① 배치