2011-01-31 1 views
0

quelque chose comme ceci: [% query | html %]Comment utiliser un filtre HTML dans les arguments de macro dans Template Toolkit? Je

Maintenant, je voudrais l'utiliser comme

[% MACRO l(text, args) BLOCK; c.localize(text, args); END; %] 
[% l('text:<b>[_1]</b> no:[_2]', [query | html,2]) %] 

Si vous essayez cet exemple, il ne fonctionnera pas parce que | ne peut pas être utilisé là-bas. Cela n'est pas accepté par Template Toolkit. Je veux échapper à HTML query. Comment puis je faire ça?

Déplacer <b> hors des devis n'est pas une solution car la traduction peut ne pas avoir le même ordre que ci-dessus.

+1

Il est pas très clair ce que vous demandez. Pouvez-vous poster un exemple complet (mais court) que nous pouvons exécuter via tpage. –

Répondre

2

Vous pouvez [% USE HTML %] et escape un paramètre spécifique, par exemple:

[% USE HTML %] 
[%# your code above %] 
[% l('text:<b>[_1]</b> no:[_2]', HTML.escape(query), 2) %] 
+0

pas possible parce que la réalité est plus compliquée que cela. Je vais mettre à jour l'exemple car l'ordre des arguments peut ne pas rester le même. – Aftershock

+1

Mise à jour maintenant que vous avez modifié votre question – mfontani

Questions connexes