adjustPath 이전    다음    목록
adjustPath 필터의 기본 사용방법은 설명서를 참고하시기 바랍니다.
adjustPath 인자로 확장자대신 "." 을 지정할 수 있습니다.
$tpl->prefilter = "adjustPath & . ";
이 때는 "./  또는 './  또는  url(./  로 시작하는 문자열은 모두 상대경로로 인식하게 됩니다.
이 방법과 함께 확장자로 인식하는 방법도 같이 사용하려면 다음과 같이 지정합니다.
$tpl->prefilter = "adjustPath & .,css,js,gif,jpg,jpeg,png,swf ";
인자의 가장 앞에 '.' 가 있으면 됩니다.
'.' 가 적용되었을 때도 "\./  '\./   url(\./  로 이스케이프할 수 있습니다.
adjustPath() 함수내에는 사용자가 정의할 수 있는 두 개의 변수가 있습니다.
Template_.prefilter.adjustPath.php
<?php
function adjustPath(&$source, $tpl, $indicator='') {
    //
    $default_indicator = 'css,js,gif,jpg,jpeg,png,swf';
    $path_filter = array();
    //
    ...
}
?>
$default_indicatoradjustPath 필터의 인자를 지정하지 않았을 때 사용되는 기본값이며, $path_filter 는 변환된 경로를 한 번 더 변환하기 위해 사용되는 정규표현식 패턴입니다.
예를 들어 홈페이지는 http://www.xtac.net 인데 gif 파일은 http://gif.xtac.net 에, jpg 파일은 http://jpg.xtac.net 저장되어 있을 때, 각서버의 디렉토리 구조가 같다면 다음과 같이 설정할 수 있습니다.
$path_filter = array(
    '/^(.*gif)$/'=>'http://gif.xtac.net$1',
    '/^(.*(jpg|jpeg))$/'=>'http://jpg.xtac.net$1',
);
이 정규식은 변환된 절대경로 앞에, 확장자에 맞는 도메인네임을 붙여주는 역할을 합니다.
또는 다음과 같이 웹서버의 리다이렉션이 설정되었을 때,
RedirectMatch  /imgA/(.*)\.(gif|jpg)$
               http://image.xtac.net/templates/skinA/img/$1.$2
$path_filter 에는 리다이렉션의 역으로 작성하면 되고, 마찬가지로 이미지서버와 웹루트하위경로가 같을 때 유효합니다.
$path_filter = array(
    '@^/templates/skinA/img/(.*)\.(gif|jpg)$@' => '/imgA/$1.$2'
);
 이전 목록 다음 
 
Since 2003-03-03 hosted on vultr.com