При выводе элементов формы, таких как, сообщения об ошибках, поля, метки и т. п.,
Symfony, по умолчанию, использует шаблоны расположенные в папке vendor\symfony\symfony\src\Symfony\Bridge\Twig\Resources\views\Form\.
Например, если в шаблоне вывести сообщение об ошибке таким образом:
{{ form_errors(loginForm.email) | trans }}
то для рендеринга этого элемента формы, Symfony будет использовать блок form_errors расположенный в файле form_div_layout.html:
{% block form_errors %}
{% spaceless %}
{% if errors|length > 0 %}
<ul>
{% for error in errors %}
<li>{{ error.message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endspaceless %}
{% endblock form_errors %}
Чтобы переопределить этот блок и сделать его глобальным для всего сайта, необходимо выполнить следующие действия:
- В каталоге
app/Resources/viewsсоздать файлform_errors.html.twig. Этот файл будет содержать переопределенный блок. - Скопировать из файла
form_div_layout.html.twigописанный выше блок и подправить его нужным образом. К примеру, можно убрать список и добавить свойcssстиль:{% block form_errors %} {% spaceless %} {% if errors|length > 0 %} {% for error in errors %} <span class=”error-style”> {{ error.message }} </span> {% endfor %} {% endif %} {% endspaceless %} {% endblock form_errors %} - В настройках, в файле
app/config/config.yml, следует указатьSymfonyэтот шаблон:# Twig Configuration twig: #... form: resources: - 'form_errors.html.twig'
Комментариев нет:
Отправить комментарий