Faire le rendu d'un champ de formulaire Symfony manuellement
Publié le 21/01/2020 • Actualisé le 21/01/2020
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) }}
Plus sur Stackoverflow Lire la doc Snippet aléatoire
A vous de jouer !
Ces articles vous ont été utiles ? Vous pouvez m'aider à votre tour de plusieurs manières : (cliquez sur le lien "reply" dans à droite pour me contacter )
- Me remonter des erreurs ou typos.
- Me remonter des choses qui pourraient être améliorées.
- Aimez et repostez !
- Suivez moi sur Bluesky 🦋
- Inscrivez-vous au flux RSS.
- Cliquez sur les boutons Plus sur Stackoverflow pour me faire gagner des badges "annonceur" 🏅.
Merci et à très bientôt sur Strangebuzz ! 😉
