我正在使用来自perl的TT,并尝试插入模板并处理变量,该变量本身包含TT指令。
所以,在脚本中,我写的是像:
$var{descr} = "[% pid = 1; INSERT plink.par %]";
然后在TT模板中(收到\%var):
[% BLOCK parsedDescr %]
[% descr %]
[% END %]
<p>[% INCLUDE parsedDescr %]
我期待将pid变量设置为“1”,并插入plink.par文件。 但相反,我在我的html页面上得到了变量descr的内容:
[% pid = 1; INSERT plink.par %]
即,此变量保持未被TT处理。
如何让TT处理它的内容?
答案 0 :(得分:4)
您可以使用eval filter:
<p>[% descr | eval %]
从链接的联机帮助页:
eval过滤器将块评估为模板文本,处理任何文本 嵌入其中的指令。这允许模板变量 包含模板片段,或用于某些方法 从外部源(如a)返回模板片段 数据库,然后可以根据需要在模板中处理。