phpsource/템플릿2006. 10. 13. 13:38
written: Oct 16 2006
[버전1.2.0 제안서] 여기서 기술한 내용은 확정된 용법이 아니라 다음 버전을 발표할 때까지 여러분의 의견 수렴을 통해 더 검토되어야 하는 제안서(proposal)로 문법적인 내용이 다소 변경될 수 있음을 미리 밝혀둡니다.
다음 버전부터는 필터 기능을 지원하지 않습니다. 필터기능은 다른 방법으로 단순화시켜 제공할 생각입니다.
내장 필터 함수
내장 필터함수는 템플릿 문서를 작성하는데 도움이 될 만한 함수를 후키템플릿 클래스에 포함시켜 제공됩니다. 내장 필터함수를 위한 클래스 파일 class.hTemplateFilter.php가 1.2.0 버전에 추가되었습니다.
* [주의] - 2006.10.26

웹에디터에서 템플릿 문서를 작성할 때 내장 필터함수를 의미하는 "=>"가 제대로 입력되지 않는 문제가 발생하였습니다. 즉, 꺽은괄호(>)를 태그로 인식하여 ">"로 저장되어 필터처리가 원하는대로 되지 않습니다. 따라서 1.2.0의 패치버전(또는 다음버전)에서 꺽은괄호(>) 대신에 둥근괄호와 같은 다른 기호를 사용하려고 합니다. 예를들어 블록변수에서의 내장 필터함수의 구문형식을 현재와 수정안을 비교하여 살펴보면 아래와 같습니다.

현재 : {@변수명;;=>내장필터함수}내용{/}
수정(안) : {@변수명;;=)내장필터함수}내용{/}
내장필터함수 url() 사용법
아래와 같이 템플릿변수에서 내장필터함수 url()을 이용하면 URL 리디렉션을 템플릿변수에서 처리할 수 있도록 해줍니다.
{=>url("./images/my.htm")}
지금까지 URL 리디렉션을 할 수 있는 구성요소는 HTML 스크립트 <IMG> 태그의 "src" 속성과 같이 HTML 규약 상에 정의된 주소부분에 한정하였습니다. 이 외에 URL 리디렉션은 아래와 같이 자바스크립트 태그 <SCRIPT> 에서 속성 "tpl" 값을 "URL"로 설정했을 때만 제한적으로 허용하고 있습니다.
[code html;gutter:false] <script language="javascript" tpl="URL"> <!-- imagePath = "./images/tree"; //--> </script> <script language="javascript"> objTreeMenu_1 = new TreeMenu(imagePath, ......); objTreeMenu_1.showTooltips = true; </script> [/code]
이러한 방법은 URL 리디렉션 기능 구현이 쉽지않아 - 주소를 나타내는 부분과 그렇지 않은 부분을 구별하기가 어려워 - 임시방편적으로 제공된 방법이었습니다. 이제는 내장필터함수 url()을 이용하면 그 위치에 제한을 받지않으면서도(자바스크립트 뿐만 아니라 HTML 스크립트 내 어느곳에서나 사용할 수 있다는 의미) 손쉽게 URL 리디렉션을 할 수 있습니다.
[code html;gutter:false] <script language="javascript"> objTreeMenu_1 = new TreeMenu("{=>url('./images/tree')}", ......); objTreeMenu_1.showTooltips = true; [/code]
물론 다른 URL 리디렉션과 마찬가지로 컴파일옵션 "active_absolute_path"에 따라 생성된 HTML 스크립트 문서에서는 상대경로로 나타날 수도 있고 절대경로로 나타날 수도 있습니다.
아래 예에서와 같이 변수내용에 이미 주소가 저장되어 있는 경우에는 내장필터함수 url() 함수에 주소값을 입력할 필요가 없습니다.
{@_VARIABLE}
{ADDR;;./images/my.gif}
{/}

{ADDR;;=>url()}
1.2.0 버전부터 제공되는 단순변수 구문형식을 이용하면 아래와 같이 나타낼 수 있습니다.
{&ADDR;;=>url()}./images/my.gif{/}

'phpsource > 템플릿' 카테고리의 다른 글

{후키템플릿}8.4.php 명령  (0) 2006.10.16
{후키템플릿}7.2.내용 형식  (0) 2006.10.16
{후키템플릿}7.9.TR 용법  (0) 2006.10.13
{후키템플릿}6.1.특수문자의 표현  (0) 2006.10.09
{후키템플릿}8.8.래핑(wrapping)  (0) 2006.09.29
Posted by 방글24