Faire le rendu d'un champ de formulaire Symfony manuellement

Publié le 21/01/2020 • Actualisé le 21/01/2020


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

Dans ce bout de code, nous allons voir comment faire le rendu manuellement de cases à cocher d'un formulaire avec Twig. Ça peut être utile quand vous avez des choses spécifiques à afficher. Dans cet exemple, on groupe les choix d'un manière arbitraire et on affecte des titres de tailles différentes à chaque groupe. Comme Ryan l'explique dans le tutoriel Symfonycasts, ne faites pas cela à moins d'y être contraint. Ce type de rendu doit toujours être une exception dans votre code, il ne faut pas en abuser.


{% trans_default_domain 'snippet' %}

{{ form_start(form) }}

{% for choice in form.my_field.vars.choices %}
    {% if loop.index == 1 %}
        <h3>{{ 'p72_1'|trans }}</h3>
    {% endif %}

    {% if loop.index == 3 %}
        <h2>{{ 'p72_2'|trans }}</h2>
    {% endif %}

    {% if loop.index == 7 %}
        <h4>{{ 'p72_3'|trans }}</h4>
    {% endif %}

    <label for="{{ form.my_field.vars.name }}_{{ choice.value }}">{{ choice.label|trans }}</label>
    <input type="checkbox" id="{{ form.my_field.vars.name }}_{{ choice.value }}" name="{{ form.my_field.vars.name }}" value="{{ choice.value }}"/>
{% endfor %}

{% do form.my_field.setRendered() %}

{{ form_end(form) }}
Démo HTML du snippet

Options les plus courantes

Les meilleures ventes

Options plus spécifiques


 Plus sur Stackoverflow   Lire la doc  Snippet aléatoire

  Travaillez avec moi !