글쓴사람 포인
글쓴시간2011년 10월 5일 오후 11시 37분 9초
    제목document_root 상위폴더를 template_dir로 지정이..
안녕하세요~~

웹호스팅받고있는데 구조가 아래와 같습니다.
/wwwroot (www도메인의 root)
├ sites (서브도메인의 root)
├ skindir (스킨경로)
├ template_ (템플릿엔진)

서브도메인을 추가하면 wwwroot 하위에 디렉토리가 생기면서 서브도메인의 document_root가 됩니다.

sites/index.html 에서
$tpl = new Template();
$tpl->template_dir = $_SERVER[DOCUMENT_ROOT].'/../skindir/test01';
$tpl->define(array(
    'body'=>'body.html',
));

이렇게 했더니 이미지 경로명이 아래처럼 나오네요
http://sub도메인/dir/test01/img/logo.jpg

document_root 상위의 디렉토리를 template_dir 로 지정하는 방법이 있는지 문의드립니다.

관리자 포인님 안녕하세요.

$templat_dir 은 잘 지정됐는데 이미지 경로보정에 문제가 생겼네요.

그런데 이런 경우.. 여러 도메인에 걸친 경로보정은 지원되지 않습니다. 이미지 속성보기할 때 브라우저가 도메인명을 보여줄 뿐, 보정된 경로에는 도메인이 없거든요.

http://sub도메인/skindir/test01/img/logo.jpg

이렇게 잘 변환됐더라도 이미지는 출력되지 않을겁니다.

http://주도메인/skindir/test01/img/logo.jpg

이렇게 보정되길 원하신다면

prefilter.adjustPath.php 6번째줄

$path_filter = array();

이 부분을

$path_filter = array('#^/dir/#'=>'http://주도메인/skindir/');

이렇게 고치고 변환파일 지우고 해보시기 바랍니다.
11-10-06 00:44
포인 관리자님 답변 감사합니다 ^^

11-10-06 00:46
포인 알려주신대로 path_filter 수정했더니 잘 나옵니다.
그런데 경로보정시에 skindir 이면 앞4자리 짤리고 dir,
template 이면 앞4자리 짤리고 late 이렇게
앞4자리가 짤리는데 이것도 수정 가능할까요?
11-10-06 10:27
관리자 사용하시는 언더바버전은요?
11-10-06 13:07
포인 어제 올려주신 Template_.2.2.5 버젼입니다 ^^
11-10-06 15:58
관리자 xtac.net/download/adjustPath20111006.zip

이거 다운로드 받아서 덮어쓰시면 될겁니다.
11-10-06 19:09
관리자 서브도메인에서는

/test01/img/log.jpg

주도메인에서는

/skindir/test01/img/logo.jpg

이렇게 변환되니까

$path_filter = array(
   '#^/test01#'=>'http://주도메인/skindir/test01',
   '#^/skindir#'=>'http://주도메인/skindir'
);

이렇게 필터설정을 하면 어디서 하든 잘 될겁니다.
11-10-06 19:12
포인 앗 수정자료 감사합니다.
장애처리 하느라 이제야 봤네요

한가지문제가..
skindir 아래 디렉토리(test01) 이 스킨이라 유동적이라는 건데요
위 소스처럼 고정할 수 없는 문제가 발생했습니다.

귀찮게 해드려서 죄송하네요 (__)
11-10-07 17:13
관리자 그건.. 고정할 디렉토리를 만들고 그 안에 스킨을 넣어두시거나 하면 될거 같습니다.

암튼간에 경로보정필터 끝부분에 용도가없는거 같아 대충하고 넘어간 부분을 포인님 덕분에 잘 고쳤네요.

감사합니다ㅎㅎ
11-10-07 17:22
포인 ㅎㅎ 단순한 방법으로 해결되네요
감사합니다.

주말 잘 보내세요~
11-10-07 18:24
    이름
비밀번호
 
Since 2003-03-03 hosted on vultr.com