Bugzilla テンプレートのコードは、通常 [% と %] で区切られています。しかし、[%+ と [%-. 誰かが違いを説明したり、適切なドキュメントを教えてくれませんか? この機会にGoogleは私を失望させました。
例えば:
[%- event.value.subject FILTER html %]
また
[%+ END %]
Bugzilla テンプレートのコードは、通常 [% と %] で区切られています。しかし、[%+ と [%-. 誰かが違いを説明したり、適切なドキュメントを教えてくれませんか? この機会にGoogleは私を失望させました。
例えば:
[%- event.value.subject FILTER html %]
また
[%+ END %]
昨年私がチームのために書いたものは次のとおりです。
私は 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 を検索してください。
[%-
(または-%]
) 先頭 (末尾) の空白を削除します。[%+
(または+%]
)それを維持します。詳細については、テンプレート ツールキット マニュアルのPRE_CHOMP、POST_CHOMPを参照してください (Bugzilla テンプレートはテンプレート ツールキットを使用します) ([=
および[~
:) を含む)。