2

Bugzilla テンプレートのコードは、通常 [% と %] で区切られています。しかし、[%+ と [%-. 誰かが違いを説明したり、適切なドキュメントを教えてくれませんか? この機会にGoogleは私を失望させました。

例えば:

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

また

[%+ END %]
4

2 に答える 2

2

昨年私がチームのために書いたものは次のとおりです。

私は TT の行動について十分な知識を持っていませんでした。チームの別のメンバーは、私よりもさらに知識が不足していると告白しました。

これは、チョッピングがどのように機能するかの簡単な説明です。

変数 x = 'foo' を持つ次のテンプレートがあるとします。

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

となります

<td>
  foo
</td>

2 行目の先頭のスペースに注意してください。

TT には PRE_CHOMP と POST_CHOMP の構成設定があります。

PRE_CHOMP が 1 の場合、改行を含むディレクティブの前のすべての空白が削除されます。例は次のようになります

<td>foo
</td>

POST_CHOMP が 1 の場合、相手側では反対のことが起こります。

<td>
foo</td>

PRE/POST_CHOMP が 2 の場合、前後のすべての空白は 1 つのスペースに折りたたまれます。

<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>

になる<td> foo </td>

<td>

[%~ x ~%]

</td>

になる<td>foo</td>

ついに、

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

になる

<td>
  foo
</td>

さらに詳細な説明については、'perldoc Template::Manual::Config' を実行して CHOMP を検索してください。

于 2010-01-28T00:13:24.043 に答える
2

[%-(または-%]) 先頭 (末尾) の空白を削除します。[%+(または+%])それを維持します。詳細については、テンプレート ツールキット マニュアルのPRE_CHOMP、POST_CHOMPを参照してください (Bugzilla テンプレートはテンプレート ツールキットを使用します) ([=および[~:) を含む)。

于 2010-01-27T16:28:54.243 に答える