[왕초보] latest() 함수 문의 드립니다.
본문
안녕하세요.
그누보드를 처음 접하고 질문드립니다.
index.php 코드 내용 중 latest('theme/basic', $row['bo_table'], 6, 24) 는
theme/basic/skin/latest/basic 위치를 가리키는거 같은데
latest() 함수의 'theme/basic'이 어떻게 이해하면 해당 경로를 가르키는지 알고 싶습니다.
감사합니다.
답변 2
'theme/basic' 에서,
theme 는 현재 사용중인 테마를 의미합니다. basic 은 latest 스킨의 스킨명
현재 사용중인 테마가 'basic' 이라면 /theme/basic/skin/latest/basic 이 되고,
현재 사용중인 테마가 'my' 라면 /theme/my/skin/latest/basic 이 됩니다.
그렇게 처리한 방식은, 윗분이 얘기한 코드처럼,
'theme/' 로 시작하는 문자열이 있는지를 체크하여 해당 부분을 사용중인 테마의 경로로 치환해주는 원리입니다.
/lib/lastest.lib.php에 해당 함수가 있습니다.
스킨 경로를 입력하지 않으면 basic으로 인식,
경로를 가져오는 방법은 아래 코드와 같습니다.
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
if (G5_IS_MOBILE) {
$latest_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
if(!is_dir($latest_skin_path))
$latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
$latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
} else {
$latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
$latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
}
$skin_dir = $match[1];
} else {
if(G5_IS_MOBILE) {
$latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
$latest_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
} else {
$latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;
$latest_skin_url = G5_SKIN_URL.'/latest/'.$skin_dir;
}
}
답변을 작성하시기 전에 로그인 해주세요.