Как использовать HTML-фильтр в аргументах макроса в Template Toolkit? - PullRequest
0 голосов
/ 31 января 2011

У меня есть что-то вроде этого: [% query | html %]

Теперь я хотел бы использовать его как

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

Если вы попробуете этот пример, он не будет работать, потому что | не может бытьиспользовал там.Это не принимается Template Toolkit.Я хочу HTML-escape query.Как я могу это сделать?

Вывести <b> из кавычек - не решение, потому что перевод может не иметь такой же порядок, как указано выше.

1 Ответ

2 голосов
/ 31 января 2011

Вы можете [% USE HTML %] и экранировать определенный параметр, например:

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