模板工具包 - 在插入之前从插入的片段中获取变量

时间:2014-02-22 08:43:16

标签: html css perl templates toolkit

我正在创建的html页面中的某个地方我正在从其他文件中插入一个模板,它本身包含TT变量定义。片段“specials.htm”

[% specials = 123 %]

但是我需要在包含所述片段之前在主页上使用这些变量。主页:

<p>Specials are [% specials %]
<!-- some html -->
[% PROCESS specials.htm %]

我试图在BLOCK中处理这个包含,然后稍后插入这个块 - 但是由于某种原因这不起作用:

[% BLOCK specblock %]
  [% PROCESS specials.htm %]
[% END %]

<p>Specials are [% specials %] <!-- No luck! -->

<!-- some html -->

[% INCLUDE specblock %]

当前的解决方法是 - 使用div和css进行播放,因此div通过为其指定绝对位置而在默认位置之前显示在页面上。但那有些蹩脚。

1 个答案:

答案 0 :(得分:0)

如果我已正确理解问题,那么如何使用匿名BLOCK将模板片段的输出捕获到变量中:

[% output = BLOCK %]
    [% PROCESS specials.htm %]
[% END %]

<p>Specials are [% specials %]

<!-- some html -->

[% output %]