Template :: Toolkit变量处理

时间:2012-05-22 22:10:55

标签: perl templates toolkit

我正在使用来自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处理它的内容?

1 个答案:

答案 0 :(得分:4)

您可以使用eval filter

<p>[% descr | eval %]

从链接的联机帮助页:

  

eval过滤器将块评估为模板文本,处理任何文本   嵌入其中的指令。这允许模板变量   包含模板片段,或用于某些方法   从外部源(如a)返回模板片段   数据库,然后可以根据需要在模板中处理。