회원가입 | 고객센터 |
DESIGNONEX
디자인원엑스
DX마켓
Service
PR리그
Q&A
지식공유N
공지사항N
통계
로그인 회원가입
고객센터
DXCMS

코어를 수정하지 않고, 인트로 만들기

D DX
2026.06.12 12:04(수정됨) 7 0

간혹 사이트 운영 중에는 메인 페이지보다 먼저 보여주는 인트로(소개 페이지)가 필요할 수 있습니다.
DXCMS에서는 코어나 테마 원본을 수정하지 않고도 이를 구현할 수 있습니다.

먼저 아래 위치에 파일을 생성합니다.
extend/top/00_intro.php

여기서 중요한 부분은 파일명 앞의 00_ 입니다.
DXCMS 메뉴얼의 Extend 자료를 참고하시면 실행 순서를 확인할 수 있는데, Extend 폴더의 파일은 파일명 순서대로 실행됩니다.
따라서 00_ 으로 시작하면 가장 높은 우선순위를 가지게 되며, 다른 Extend 파일보다 먼저 실행됩니다.

예를 들어 방문 쿠키 확인, 특정 기간 이벤트, 첫 방문자 인트로 페이지, 점검 안내 페이지 등의 기능을 이 파일에서 처리할 수 있습니다.
DXCMS의 장점은 이러한 작업을 코어 수정 없이 처리할 수 있다는 점입니다. 추후 업데이트가 진행되더라도 커스텀 기능을 유지하기 쉽고 관리 또한 편리합니다.

<?php
/**
 * DXCMS — 인트로 페이지
 * extend/top/00_intro.php
 *
 * 6월 5일(10) ~ 6월 14일(1) : 날짜별 카운트다운 파일 출력
 * 6월 15일 이후             : intro.php 출력 (영상 인트로)
 * 그 외(6월 5일 이전)       : 스킵 (바로 사이트 진입)
 */
if (!defined('DX_CMS')) exit;

/* ── 홈 여부 확인 ── */
$_introUri = isset($_SERVER['REQUEST_URI']) ? strtok($_SERVER['REQUEST_URI'], '?') : '/';
$_introUri = rtrim($_introUri, '/');
if ($_introUri !== '' && $_introUri !== '/') return;

/* ── 날짜별 해시 파일명 매핑 (숫자 높을수록 빠른 날짜) ── */
$_introMap = array(
    '2026-06-05' => '파일명.php',  // D-10
    '2026-06-06' => '파일명.php',  // D-9
    '2026-06-07' => '파일명.php',  // D-8
    '2026-06-08' => '파일명.php',  // D-7
    '2026-06-09' => '파일명.php',  // D-6
    '2026-06-10' => '파일명.php',  // D-5
    '2026-06-11' => '파일명.php',  // D-4
    '2026-06-12' => '파일명.php',  // D-3
    '2026-06-13' => '파일명.php',  // D-2
    '2026-06-14' => '파일명.php',  // D-1
);

$_today      = date('Y-m-d');
$_launchDate = '2026-06-15';

/* ── 6월 5일 이전 : 기존 intro.php 출력 ── */
if ($_today < '2026-06-05') {
    if (!empty($_COOKIE['dx_intro_closed'])) return;
    $_introFile = DX_ROOT . '/intro.php';
    if (!file_exists($_introFile)) return;
    ob_end_clean();
    readfile($_introFile);
    exit;
}

/* ── 6월 15일 이후 : 인트로 없음 ── */
if ($_today >= $_launchDate) return;

/* ── 6월 5일 ~ 14일 : 카운트다운 ── */
if (!isset($_introMap[$_today])) return;

/* 쿠키 확인 — 날짜별로 별도 쿠키 사용 (날짜 바뀌면 다시 표시) */
$_introCookieKey = 'dx_intro_' . str_replace('-', '', $_today);
if (!empty($_COOKIE[$_introCookieKey])) return;

$_introFile = DX_ROOT . '/' . $_introMap[$_today];
if (!file_exists($_introFile)) return;

ob_end_clean();
readfile($_introFile);
exit;

이 소스는 현재 디자인원엑스에서 실제 사용 중인 인트로 기능 소스입니다.

필요하신 분들은 참고용으로 활용하시기 바랍니다.

인트로 파일(들)은 사이트 Root(최상위 경로)에 업로드하시면 됩니다.

또한, 인트로 페이지를 외부에 노출하고 싶지 않다면 파일명을 해시 형태의 랜덤한 이름으로 변경하여 사용하시길 권장합니다.

예를 들어,

  • intro.php
  • splash.php

와 같이 쉽게 유추 가능한 이름 대신,

  • a8f3c9d2.php
  • intro_7f4a9c8b.php

와 같은 형태로 변경하면 직접 주소를 입력하여 접근하는 것을 어느 정도 방지할 수 있습니다.

DXCMS는 코어를 수정하지 않고 Extend를 통해 인트로 기능을 구현할 수 있으므로, 필요에 따라 자유롭게 응용하여 사용하시면 됩니다.






 

댓글0

로그인 후 댓글을 작성할 수 있습니다.
번호 제목 작성자 날짜 조회
공지
D DX
05.22 86
11
모아비즈
05.21 71
모아비즈 · 71
9
모아비즈
05.21 66
모아비즈 · 66
DX · 70
34
전체 회원
901
전체 게시글
1,733
전체 댓글
356
오늘 방문
41,019
전체 방문
1
현재 접속
인기글 7일 이내
최신글
최신댓글
내 플레이리스트
플레이리스트가 비어있습니다
스튜디오 게시판에서
플레이리스트에 담기 버튼을
눌러보세요
목록
목록