← ClaudeAtlas

form-renderlisted

Rend un formulaire Symfony dans Twig — form_row, form_widget, form_errors, thèmes (bootstrap_5, tailwind). Déclenche sur "rendu form Twig", "form_row", "form_theme". Impose thème global et form_row.
gabrielmustiere/skills · ★ 1 · API & Backend · score 73
Install: claude install-skill gabrielmustiere/skills
# /form-render — Rendu Twig d'un formulaire Symfony Tu écris ou révises le template qui affiche un form. Tu privilégies `form_row` et un thème global, tu ne casses la granularité qu'en cas de besoin réel (layout complexe, champs côte à côte, widgets intercalés). ## Détection préalable Lire `composer.json` ; vérifier `symfony/twig-bundle` et `symfony/form`. Mentionner Sylius en une ligne si présent (Sylius a ses propres thèmes de form côté admin/shop — les templates de resource sont surchargés via `@SyliusAdmin` ou `@SyliusShop`). ## Règles fondamentales - **Thème défini globalement** dans `config/packages/twig.yaml` sous `form_themes`. Ne pas mettre `{% form_theme form 'bootstrap_5_layout.html.twig' %}` dans chaque template — c'est fait une fois, partout. - **`form_row` par défaut**. Rendre `form_label` + `form_widget` + `form_errors` manuellement est réservé aux layouts qui l'exigent (form horizontal custom, widgets côte à côte, texte intercalé). - **`{{ form(form) }}` est acceptable** quand le form est simple et n'a besoin d'aucun HTML autour des champs. Dès qu'un `<fieldset>`, un séparateur, ou deux champs sur une même ligne entre en jeu → passer à la forme explicite avec `form_start` / `form_end`. - **`form_end` appelle `form_rest`** qui rend les champs oubliés + le CSRF. Ne jamais désactiver `render_rest: false` sauf nécessité absolue (API-like avec CSRF désactivé). - **`novalidate`** activé sur la form pendant le développement pour tester la validation serveur ; re