【问题标题】:Bugzilla templates: what's the difference between [% and [%+Bugzilla 模板:[% 和 [%+
【发布时间】:2011-01-10 01:04:12
【问题描述】:

Bugzilla 模板中的代码通常由 [% 和 %] 分隔。但有时我会看到 [%+ 和 [%-.有人可以解释区别或指出合适的文件吗?谷歌这次让我失望了。

例如:

[%- event.value.subject FILTER html %]

[%+ END %]

【问题讨论】:

    标签: syntax bugzilla template-toolkit


    【解决方案1】:

    [%-(或-%])删除前导(尾随)空格; [%+(或+%])维护它。有关血腥细节(包括[=[~ :)),请参阅模板工具包手册中的PRE_CHOMP, POST_CHOMP(Bugzilla 模板使用模板工具包)。

    【讨论】:

      【解决方案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级,+表示不管整体配置中是否设置都不chomping。

      所以重复这个例子:

      <td>
        [% x %]
      </td>
      

      因为我们有 PRE_CHOMP = 1,那么这就变成了

      <td>foo
      </td>
      
      <td>
      [%- x -%]
      <td>
      

      变成

      <td>foo</td>
      
      <td>
      [%= x =%]
      </td>
      

      变成&lt;td&gt; foo &lt;/td&gt;

      <td>
      
      [%~ x ~%]
      
      </td>
      

      变成&lt;td&gt;foo&lt;/td&gt;

      最后,

      <td>
        [%+ x %]
      </td>
      

      变成

      <td>
        foo
      </td>
      

      要获得更详细的解释,请执行“perldoc Template::Manual::Config”并搜索 CHOMP。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-20
        • 1970-01-01
        • 1970-01-01
        • 2013-11-17
        相关资源
        最近更新 更多