같은 서버(NAS/공유호스팅)에서 여러 DXCMS 사이트가 APCu 또는 Redis 캐시를 함께 쓸 때, 사이트 이름•테마 설정 등이 서로 뒤섞이던 문제를 해결했습니다.
2. 로그인 세션 연장 8.3.4
클릭/제출 없이 입력창에 타이핑만 계속하는 경우 세션 갱신 요청이 전혀 나가지 않아, 작업 중 예고 없이 “로그인 연장” 팝업이 뜨던 문제를 해결했습니다.
3. 테마 시스템 — 절대경로/폴백/우선순위 8.4.0
default 테마를 복사해서 새 테마를 만들 때 겪는 여러 문제를 해결하고, 테마 제작을 쉽게 해주는 헬퍼 함수를 추가했습니다.
dx_theme_path($relPath='') 서버 파일시스템 경로 :: /home/계정/www/themes/home1/img/logo.png
dx_theme_url($relPath) 브라우저용 웹 주소 :: http://사이트주소/themes/home1/img/logo.png
<img src="<?php echo dx_theme_url('img/logo.png'); ?>">
<link rel="stylesheet" href="<?php echo dx_theme_url('css/style.css'); ?>">
<script src="<?php echo dx_theme_url('js/custom.js'); ?>"></script>
// dx_theme_path()는 그 대신 이런 식으로,
// 서버 쪽에서 파일 존재 여부를 체크하거나
// 직접 읽어들일 때 쓰시면 됩니다.
$logo = dx_theme_path('img/logo.png');
if (file_exists($logo)) {
$size = getimagesize($logo);
}
include dx_theme_path('parts/custom_widget.php');