2010-01-27 4 views
2

Le code dans les modèles Bugzilla est généralement délimité par [% et%]. Mais parfois, je vois [% + et [% -. Quelqu'un peut-il expliquer la différence ou me diriger vers une documentation appropriée? Google m'a échoué à cette occasion.Modèles Bugzilla: quelle est la différence entre [% et [% +

Par exemple:

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

ou

[%+ END %] 

Répondre

2

[%- (ou -%]) enlève avant (arrière) des espaces; [%+ (ou +%]) le maintient. Voir PRE_CHOMP, POST_CHOMP dans le Template Toolkit Manual (les modèles Bugzilla utilisent le Template Toolkit) pour les détails sanglants (y compris [= et [~ :)).

2

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.

Questions connexes