web-dev-qa-db-fra.com

Symfony2 - fonction form_start personnaliser dans twig

Assistants de formulaire form_start et form_end sont utiles dans twig:

{{ form_start(form) }}
{{ form_end(form) }}

Je peux personnaliser certains paramètres comme le method ou le action. Mais je dois personnaliser d'autres paramètres comme le class ou ajouter le form-enctype.

Puis-je le faire? Dois-je l'installer dans le FormType.php?

Depuis maintenant, j'essaie simplement d'ajouter ma valeur personnalisée à la fonction twig comme ci-dessous:

{{ form_start(form, {'class': 'myclass', 'action': 'myaction'}) }}
// fields...
{{ form_end(form, {'render_rest': true}) }}

Mais dans ce cas, par exemple, le class n'apparaît pas.

26
Roberto Rizzi

Comme form_start A le signature suivante ,

form_start(view, variables)

Et comme class ne représente pas un nom de variable valide. Vous devez spécifier votre classe en tant que tableau key/value À l'aide de l'attribut attr.

Ensuite, essayez ...

{{ form_start(form, {'class': 'myclass', 'action': 'myaction', 'attr': {'class': 'your_class_name'}}) }}

Aussi ...

  • Vous devez être sûr que vos fichiers de type sont bien définis afin de laisser l'assistant form_start Définir le bon form-enctype.

  • L'assistant form_enctype(formView) est obsolète depuis Symfony 2.3.

47
Ahmed Siouani