2016-06-29 4 views
2

Можно ли использовать фильтр raw на атрибутах элемента формы? Я хочу что-то вроде:Twig: использовать необработанный фильтр на form_widget attr

{{ form_widget(searchForm.query, { 
    'type': 'search', 
    'attr': { 
     'placeholder': 'Search query…' 
    } 
}) }} 

, но это выводит "Поисковый запрос & hellip;" в HTML Я попытался

'placeholder': 'Search query…'|raw 

, но он по-прежнему ускользает &, выводя "Поисковый запрос & hellip;" еще раз.

Заранее спасибо

+1

Почему бы не поставить неэкранированное значение в атрибутах? – Gerry

+0

, потому что мне не нравятся специальные символы в исходном коде, не кажется мне очень чистым ... – amik

+1

Определите «специальный» символ. Это часть алфавита Unicode, ваш исходный код, вероятно, кодируется UTF-8. – Gerry

ответ

5

Вы можете использовать filter тег так:

{% filter format('…')|raw %} 
{{ form_widget(searchForm.query, { 
    'type': 'search', 
    'attr': { 
     'placeholder': 'Search query%s' 
    } 
}) }}  
{% endfilter %} 

с %s вместо … стоимости заполнителя

если вы не хотите использовать %s вы можете использовать replace вместо format с собственным значением (foo, например):

{% filter replace({'foo': '…'})|raw %} 
{{ form_widget(searchForm.query, { 
    'type': 'search', 
    'attr': { 
     'placeholder': 'Search queryfoo' 
    } 
}) }} 
{% endfilter %} 
0

вы можете попробовать с … вместо … ...

Смежные вопросы