Мне нужно, чтобы мои формы symfony2 / twig придерживались определенного условия: все строки формы должны выглядеть примерно так:
{% block form_row %}
<div class="CONSTANT_CLASS class_based_on_field_type class_based_on_error">
{{ form_label(form) }}
{{ form_widget(form) }}
...
</div>
{% endblock form_row %}
Обратите внимание, что мне нужно получить тип поля в блоке form_row. Увы, тип поля определяется только на уровне виджета.
Мне определенно нужен способ сообщить моей form_row, с каким типом поля она имеет дело. Поэтому я полагаю, что было бы лучше как-то переопределить функцию form_row
twig.
Где можно переопределить функции ветки по умолчанию? А как это можно было сделать?
Помните, что речь идет не об настройке формы . Мне нужно знать, как добавить к существующим переменные формы для существующих типов полей.
@nifr: Кажется, ключевым ответом для вас будет {% set typeClass ... %}
. Но нигде нет определенной переменной text
для шаблона. Посмотрите на form_div_layout.html.twig в строке 158ff, я думаю, что тип действительно устанавливается только на уровне form_widget и, таким образом, заключен в капсулу, чтобы быть там. Это означает, что использование типа на уровне form_row всегда приведет к заданному по умолчанию (так мне пришло в голову во время тестирования). Если вы докажете, что это не так, я с радостью приму ваш ответ.