Customizing Symfony Form Templates

From Littledamien Wiki
Revision as of 18:17, 13 February 2015 by 66.214.144.90 (talk)
Jump to navigation Jump to search


Application-wide customization of form themes

The application-wide setting to use a different built-in theme to render forms:

# app/config/config.yml
twig:
    form_themes: 
        - 'bootstrap_3_layout.html.twig'

To implement a custom theme application-wide:

# app/config/config.yml
twig:
    form_themes: 
        - ':form:errors.html.twig'

Create a stand-along template that overrides the form_errors block:[1]

Update the application configuration:

# app/config/config.yml

# ...

twig:
	form_themes:
		- ':form:errors.html.twig'

Form errors

Form errors are rendered with a {% form_errors %} block.

Field errors are rendered with a {% field_errors %} block.

Custom form errors theme

{# app/Resources/views/form/errors.html.twig #}
{% block form_errors %}
{% if errors.count > 0 %}
	<div class="alert alert-danger alert-form-errors">
{% for error in errors %}
		<div>{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}</div>
{% endfor %}
	</div>
{% endif %}
{% endblock %}

Notes

  1. Making Application-Wide Customizations, Symfony Template Cookbook