我正在使用 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 处理它的内容?
最佳答案
您可以使用 eval filter :
<p>[% descr | eval %]
从链接的联机帮助页:
The eval filter evaluates the block as template text, processing any directives embedded within it. This allows template variables to contain template fragments, or for some method to be provided for returning template fragments from an external source such as a database, which can then be processed in the template as required.
关于perl - 模板::工具包变量处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10710909/