У меня простая проблема.Symfony2 -> Twig -> Form -> Field -> Set rendered = true
У меня есть форма с полем, например:
$builder
->add('x')
->add('y')
->add('z')
;
В моих прута файлов я использовал несколько блоков, и я хочу, чтобы остановить визуализации полей ... Я рассматриваю b.html.twig файл!
a.html.twig
{% block body %}
{% block form %}
{{ form_widget(form) }}
{% endblock form %}
{% endblock body %}
b.html.twig
{% block form %}
{{ form.x.set('rendered', true) | default() }}
{{ parent() }}
{% endblock form %}
Если я удалить "по умолчанию()" я получаю ошибку, что объект ханжества преобразуется в строку. И на самом деле форма отображает все поля ... Включает поле x. Но они не должны визуализировать поле x ...
Спасибо заранее!
Проблема в том, что я использую тему глобальной формы, которая содержит «form_widget (form)» по умолчанию. Мне нужно поле внизу, и потому, что я установил rendered = true. Тогда я мог бы использовать его внизу, а моя глобальная тема не отображала бы поле ... – PatrickB
обновил мой ответ ... ваш точный вопрос - как вызвать setRendered() для строки в форме вручную? – nifr
Вопрос в том, как сделать это с помощью twig (only) ^^ В данный момент я использую самодельную функцию твига: public function renderState (поле FormView $) {$ field-> setRendered (true); } – PatrickB