2011-01-31 2 views
0

私はこのようなものがあります:[% query | html %]Template Toolkitのマクロ引数でHTMLフィルタを使用するにはどうすればよいですか?

今、私はあなたが|が使用できないので、それは動作しませんその一例をしようとした場合

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

としてそれを使用したいと思います。これはTemplate Toolkitでは受け入れられません。私はHTMLエスケープqueryにしたいです。どうやってやるの?

<b>を引用符の外に移動することは、翻訳が上記と同じ順序でない可能性があるため、解決策ではありません。例えば

+1

それはあなたが求めているものを非常に明確ではありません。 tpageを通して実行できる完全な(しかし短い)例を投稿できますか? –

答えて

2

することはでき[% USE HTML %]escape固有のパラメータ、:

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

現実はそれより複雑なので不可能です。議論の順序が同じではないかもしれないので、例を更新するつもりです。 – Aftershock

+1

質問が変更されました。 – mfontani

関連する問題