hTemplate – 8.7.내장 필터함수

[버전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”로 설정했을 때만 제한적으로 허용하고 있습니다.

이러한 방법은 URL 리디렉션 기능 구현이 쉽지않아 – 주소를 나타내는 부분과 그렇지 않은 부분을 구별하기가 어려워 – 임시방편적으로 제공된 방법이었습니다. 이제는 내장필터함수 url()을 이용하면 그 위치에 제한을 받지않으면서도(자바스크립트 뿐만 아니라 HTML 스크립트 내 어느곳에서나 사용할 수 있다는 의미) 손쉽게 URL 리디렉션을 할 수 있습니다.

물론 다른 URL 리디렉션과 마찬가지로 컴파일옵션 “active_absolute_path”에 따라 생성된 HTML 스크립트 문서에서는 상대경로로 나타날 수도 있고 절대경로로 나타날 수도 있습니다.

아래 예에서와 같이 변수내용에 이미 주소가 저장되어 있는 경우에는 내장필터함수 url() 함수에 주소값을 입력할 필요가 없습니다.

1.2.0 버전부터 제공되는 단순변수 구문형식을 이용하면 아래와 같이 나타낼 수 있습니다.

  • {&ADDR;;=>url()}./images/my.gif{/}

답글 남기기