【问题标题】:Template::Toolkit variable processingTemplate::Toolkit 变量处理
【发布时间】:2012-05-23 06:43:55
【问题描述】:

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

【问题讨论】:

    标签: perl templates toolkit


    【解决方案1】:

    您可以使用eval filter:

    <p>[% descr | eval %]
    

    来自链接的手册页:

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

    【讨论】:

      猜你喜欢
      • 2014-08-31
      • 2011-01-30
      • 2016-08-10
      • 2014-04-16
      • 2012-03-12
      • 2013-04-03
      • 2021-06-19
      • 2017-10-05
      • 2021-03-22
      相关资源
      最近更新 更多