[최신글 1/13] 최신글이란? 구조와 동작 — DXCMS
키워드: 최신글, board_latest, dx_board_latest, dx_board_posts, 홈페이지, 위젯, 구조 표기: (소스)=코드 확인·실행 검증, (README)=README 기재, (일반)=일반 지식
최신글은 게시판의 최근 글 N개를 홈 화면이나 페이지 어디에든 붙이는 위젯 기능입니다. (README) 관리자 화면에 최신글 전용 설정 메뉴는 없고(소스 검색 기준), PHP 파일에 함수를 한 줄 넣어 사용합니다.
구성 요소
- 함수 2개 (core/functions.php): dx_board_posts() = 글 목록을 배열로 반환, dx_board_latest() = 배열을 만들어 스킨으로 출력 (소스)
- 스킨 찾기 (core/DxTheme.php): resolveLatestSkin() (소스)
- 번들 스킨 (themes/default/board_latest/): basic/list, basic/card, basic/simple, gallery/grid, gallery/slide. 루트의 list·card·simple 은 구버전 호환용 (소스)
- 실제 사용 예: pages/home.php 와 themes/default/page/home.php 가 공지사항·자유게시판 최신글을 호출 (소스)
동작 흐름
- dx_board_latest('free', 5, 'list') 호출
- board_key='free', status=1 인 게시판을 찾음. 없으면 아무것도 출력하지 않음 (관리자에게만 노란 경고 박스)
- 스킨 파일을 찾음 (3/13 규칙)
- dx_board_posts() 로 글 조회: 게시글 status=1, 공지 제외, 최신순(created_at, id 내림차순)
- 스킨 파일을 include 해서 HTML 출력
용어
- board_key: 게시판 주소의 첫 부분이자 함수에 넣는 값. 관리자 > 게시판 관리에서 확인. 예: /free/view/133 이면 free
- 최신글 스킨: 최신글의 모양을 정하는 PHP 파일. 게시판 목록/보기 스킨(themes/*/board/)과 별개
- 함수는 echo 로 직접 출력하므로, 보여줄 자리에서 호출해야 함
다음: 2/13 기본 사용법