{% block someblock %}
<form action="#" method="post" {{ form_enctype(form) }}>
{{ form_errors(form) }}
{% for field in form %}
{% if not field.ishidden %}
<div>
<!-- translates the field name (stored in key) and saves it in the variable label -->
{% set label %}{% trans field.key %}{% endset %}
<!-- passes the translated name as the second parameter for your own label -->
{{ form_label(field, label) }}
{{ form_errors(field) }}
{{ form_field(field) }}
</div>
{% endif %}
{% endfor %}
{{ form_hidden(form) }}
<input type="submit" />
</form>
{% endblock %}
Wednesday, February 9, 2011
Translate form labels inside Twig templates
In this exmaple I assume you've a configured transaltion service up and running. This tip works when you're iterate over loops, like in this example and/or when you print everything out by hand ({{ form_label(form.my_field, label) }}).
Subscribe to:
Post Comments (Atom)
Where did you find the ishidden method which you use on your field to skip the hidden fields? I am asking because when I try this my template doesn't render and I get the following error back:
ReplyDeleteMethod "ishidden" for object "Symfony\Component\Form\FormView" does not exist