Voici quelque chose que j'ai écrit pour notre équipe l'année dernière:
je moins informés sur le comportement de TT que je suis, et un autre membre de notre équipe m'a avoué qu'il était encore moins informé que moi !
Ceci est une brève explication du fonctionnement du chomping.
Supposons que je le modèle suivant, avec la variable x = 'foo'
<td>
[% x %]
</td>
deviendra
<td>
foo
</td>
Notez les espaces au début de la deuxième ligne.
TT possède des paramètres de configuration pour PRE_CHOMP et POST_CHOMP.
Si PRE_CHOMP vaut 1, alors tous les espaces devant une directive, y compris un saut de ligne, sont supprimés. L'exemple devient
<td>foo
</td>
Si POST_CHOMP est 1, alors le contraire qui se produit à l'autre extrémité:
<td>
foo</td>
Si PRE/POST_CHOMP est égal à 2, alors tous précédentes/espaces suivant est réduit à un seul espace :
<td> foo </td>
Si PRE/POST_CHOMP est 3, puis tout précédent/suivant est éliminé des espaces:
<td>foo</td>
== == IMPORTANT
Bugzilla est configuré avec PRE_CHOMP = 1. POST_CHOMP est pas définie.
Vous pouvez indiquer explicitement le comportement de compression avec l'un des caractères -, =, ~ et + après le '[%' ou avant '%]'. '-' indique CHOMP niveau 1, = indique CHOMP niveau 2, ~ indique CHOMP niveau 3, + indique qu'il n'y a pas d'écrasement, qu'il soit défini dans la configuration globale.
Donc, pour répéter l'exemple:
<td>
[% x %]
</td>
Parce que nous avons PRE_CHOMP = 1, alors cela deviendra
<td>foo
</td>
<td>
[%- x -%]
<td>
devient
<td>foo</td>
<td>
[%= x =%]
</td>
devient <td> foo </td>
<td>
[%~ x ~%]
</td>
devient <td>foo</td>
Enfin,
<td>
[%+ x %]
</td>
devient
<td>
foo
</td>
Pour une explication encore plus bavarde, faire 'perldoc Template :: Manuel :: Config' et recherche de CHOMP.