La réponse d'Acyra est la bonne si vous voulez définir des attributs dans le contrôleur, mais elle comporte de nombreuses inexactitudes.
Oui, vous pouvez le faire directement avec le FormBuilder en utilisant la fonction attr
(introduit aquí pour la version 2.1 et ici pour la 2.0 ) au tableau des options comme suit :
->add('birthdate', 'date',array(
'input' => 'datetime',
'widget' => 'single_text',
'attr' => array('class'=>'calendar')
))
Il n'est pas vrai que la "fonctionnalité est cassée". Elle fonctionne très bien !
Il n'est pas vrai que Symfony2 applique le HTML class
à la fois à l'étiquette et à l'entrée (au moins à partir de la version 2.1).
En outre, étant donné que le attr
est lui-même un tableau, vous pouvez passer n'importe quel attribut HTML que vous souhaitez rendre pour le champ. C'est très utile si vous voulez passer l'attribut HTML5 data-
attributs.