Bugzilla模板中的代码通常由[%和%]分隔。但有时候我会看到[%+和[% - 。有人可以解释差异或指出我适当的文件?谷歌在这个场合失败了。
例如:
[%- event.value.subject FILTER html %]
或
[%+ END %]
答案 0 :(得分:2)
[%-
(或-%]
)删除前导(尾随)空格; [%+
(或+%]
)维护它。请参阅模板工具包手册中的PRE_CHOMP, POST_CHOMP(Bugzilla模板使用模板工具包)以获取详细信息(包括[=
和[~
:))。
答案 1 :(得分:2)
以下是我去年为团队撰写的内容:
我对TT的行为知之甚少,而且我们团队的另一名成员向我承认他的信息比我还要少!
这是对咀嚼如何运作的简要说明。
假设我有以下模板,变量x ='foo'
<td>
[% x %]
</td>
将成为
<td>
foo
</td>
注意第二行开头的空格。
TT具有PRE_CHOMP和POST_CHOMP的配置设置。
如果PRE_CHOMP为1,则删除指令前面的所有空格,包括换行符。示例变为
<td>foo
</td>
如果POST_CHOMP为1,则另一端发生相反的情况:
<td>
foo</td>
如果PRE / POST_CHOMP为2,那么所有前面/后面的空格都会折叠到一个空格:
<td> foo </td>
如果PRE / POST_CHOMP为3,则消除所有前面/后面的空格:
<td>foo</td>
==重要==
Bugzilla配置了PRE_CHOMP = 1.未设置POST_CHOMP。
您可以在'[%'之后或'%'之前'明确表示使用其中一个字符 - ,=,〜和+的咀嚼行为。 ' - '表示CHOMP等级1,=表示CHOMP等级2,〜表示CHOMP等级3,+表示无扼杀,无论是否在整体配置中设置。
所以重复这个例子:
<td>
[% x %]
</td>
因为我们有PRE_CHOMP = 1,所以这将成为
<td>foo
</td>
<td>
[%- x -%]
<td>
变为
<td>foo</td>
<td>
[%= x =%]
</td>
变为<td> foo </td>
<td>
[%~ x ~%]
</td>
变为<td>foo</td>
最后,
<td>
[%+ x %]
</td>
变为
<td>
foo
</td>
要获得更详细的解释,请执行'perldoc Template :: Manual :: Config'并搜索CHOMP。