은 내 문서 foo.tt 나는이 같은 것을 쓰고 싶습니다노하우 통과 argumets
[% INCLUDE header('str', 1, 2, 3, 5, 10) %]
내 목표는 STR에 대한 몇 가지 문자열 조작을하는 것입니다 및 으로 예선/은으로 모든 숫자를 반복합니다.
불행히도 템플릿 도구 키트에서 이러한 유형의 구문을 사용할 수 없습니다.
왜 템플릿 툴킷으로 인수를 서브 루틴으로 전달할 수 있습니까?
아이디어가 있습니까?
은 내 문서 foo.tt 나는이 같은 것을 쓰고 싶습니다노하우 통과 argumets
[% INCLUDE header('str', 1, 2, 3, 5, 10) %]
내 목표는 STR에 대한 몇 가지 문자열 조작을하는 것입니다 및 으로 예선/은으로 모든 숫자를 반복합니다.
불행히도 템플릿 도구 키트에서 이러한 유형의 구문을 사용할 수 없습니다.
왜 템플릿 툴킷으로 인수를 서브 루틴으로 전달할 수 있습니까?
아이디어가 있습니까?
변수는 전달할 수 있지만 이름을 지정해야합니다. 예 :
outer.tt2 :
[% INCLUDE header.tt2 header_string="str", items=[ 1, 2, 3, 5, 10 ] -%]
header.tt2 :
String: [% header_string %]
[% FOREACH item IN items -%]
Item: [% item %]
[% END -%]
출력 :
String: str
Item: 1
Item: 2
Item: 3
Item: 5
Item: 10
체크 아웃 MACRO
정의 :
[% MACRO header(str, items) BLOCK -%]
[% FOREACH i IN items; -%]
... your item code here ...
[% END -%]
[% END -%]
[% header('str',[1, 2, 3, 5, 10]) %]
TT가 템플릿 수준에서 원시 인수 목록을 노출했다면 TT가 지정한대로 호출 할 수 있습니다 (예 : header('str', 1, 2, 3, 5, 10)
). 그러나 이것은 매우 가깝습니다.
[% INCLUDE ... 줄 끝 부분의 "-"는 무엇을 의미합니까? – Eagle
TT가 공백을 채우도록 지시합니다 : http://www.template-toolkit.org/docs/manual/Syntax.html#section_Chomping_Whitespace –
@ysth, 파일의 접미사는 tt2입니까? 또는 접미사 tt를 가질 수 있습니까? – Eagle