 |
 |
 |
 |
 |
| |
|
|
 |
 |
 |
 |
 |
 |
| 글쓴사람 | 김효중 |
| 글쓴시간 | 2008년 1월 21일 오후 10시 55분 2초 |
| 제목 | 두개의 템플릿 디렉토리 지정은? |
 |
 |
{#header}
{#body}
{#footer}
요렇게 설계를 해서 씁니다.
header, footer는 A 템플릿 디자인
#body는 B,C,D 형태로 템플릿으로 인해 디자인이 바뀔수 있습니다.
문제는 #footer부분이 header 템플릿 디렉토리로 따라간다는 겁니다.
footer에다가 다시 원래 디렉토리로 설정하기가 가능한지.. 두개로 나눠서 쓸 방법 갈켜주세용..
ㅠ.ㅠ |
 |
 |
| 관리자 |
김효중님 안녕하세요
한 가지 방법은 디렉토리가 아래와 같을 때
/service/template/shared/head.tpl
/service/template/B/body.tpl
/service/template/C/body.tpl
var $template_dir = '/service/template';
공유되는 것은
$tpl->define('head', 'shared/head.tpl');
이렇게 하고 스킨별 디렉토리는 변수를 직접 만들어서 처리합니다.
$tpl->define('body', $skin.'/body.tpl');
$skin 값을 조건에 따라 B,C,D 등으로 지정하면 됩니다.
이 때, 템플릿언더바 속성중 var $skin 속성은 디폴트값인 '' 이어야 합니다.
다른 방법으로 심볼릭링크를 이용할 수 있습니다.
첫 스킨디렉토리내에 공유디렉토리를 만들고, 그 다음 스킨 디렉토리 내에는 같은 이름으로 공유디렉토리의 심볼릭 링크를 만듭니다.
/service/template/A/shared/head.tpl
/service/template/B/shared -> /service/template/A/shared
/service/template/C/shared -> /service/template/A/shared
이렇게 하면, 스킨값(A,B,C)은 언더바의 $template_dir 속성 또는 $skin 속성을 이용해서 한 번만 지정하면 됩니다.
|
| 08-01-22 13:37 |
 |
|
 |
| 김효중 |
지금 현재 말씀하신 방법으로 쓰여지고 잇습니다.
이것을 각기다른 시스템으로 돌리고 있는데 한군데에서 통합으로 부르다 보니 문제가 되서....
{#footer} 라고 쓴부분을
없애고
$tpl->print_("body");
$tpl->template_dir = ROOT.'/skin_admin';
$tpl->print_("footer");
이렇게 변수를 다시 지정하고 출력문을 써주어서 해결했습니다. ㅡ.ㅡ;
머 별수 없죠.ㅋ |
| 08-01-22 23:11 |
 |
|
 |
| 관리자 |
두 가지 방법을 답변드렸는데, 둘 다 말씀하신 것과는 다르네요.
우선은.. $template_dir 속성을 중간에 바꾸는 것 보다는 define 쪽에서 변수처리하는 것이 좋아보입니다. |
| 08-01-22 23:33 |
 |
|
 |
 |
 |
 |
|
|
|
|
|