Как использовать HTML-фильтр в аргументах макроса в Template Toolkit?
У меня есть что-то вроде этого: [% 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-побег query
, Как я могу это сделать?
Двигаться <b>
выход из кавычек не является решением, потому что перевод не может иметь тот же порядок, что и выше.
1 ответ
Решение
Вы можете [% USE HTML %]
и экранировать определенный параметр, например:
[% USE HTML %]
[%# your code above %]
[% l('text:<b>[_1]</b> no:[_2]', HTML.escape(query), 2) %]