Je suis en mesure de faire ce qui suit pour toutes les cases dans un ensemble (dans une action):cases spécifiques vérifiées dans symfony 1.4
$this->form->getWidget('some_form_field')->setAttribute('checked', 'checked');
... mais je suis incapable de définir des cases à cocher spécifiques à fait tic tac sur la base des données renvoyées par le db.
Je suis après quelque chose comme:
$this->form->getWidget('some_form_field')->setAttributes(array(....));
... où je peux me référer aux cases spécifiques à cocher en quelque sorte, ou passer un tableau à elle.
Il n'y a rien dans la documentation de symfony à ce sujet et j'en ai eu assez d'essayer une douzaine de combinaisons pour le faire fonctionner.
Toute aide serait appréciée.
Merci.
@benlumley ... merci mais le formulaire est rendu " pas vérifié "volontairement, de sorte que lorsque je tire des données dans mon action à partir de la base de données, je peux ensuite rendre le formulaire dans le modèle avec les cases à cocher pré-vérifiées qui ont été stockées de cette manière dans la base de données. Comme je le note ci-dessus, je peux l'obtenir pour pré-vérifier tout d'eux bien (à la fois dans la classe de forme et et dans l'action), mais j'ai besoin de contrôle sur le niveau des cases individuelles. – Tom
... en fait votre code ci-dessus est la bonne direction. Il suffit de le faire fonctionner: $ this-> form-> getWidget ('some_form_field') -> setDefault (array ('1', '2')); Merci! – Tom
Vous pouvez toujours réaliser ceci en ajoutant une méthode au formulaire pour accepter l'entrée et mettre 'cochée' sur les cases appropriées. Vous pouvez ensuite appeler cette méthode depuis l'action et lui transmettre vos données. Si vous avez besoin de faire cela dans la vue, ce qui, à mon avis, est un peu brouillon, il existe des moyens de le faire aussi - chaque méthode de rendu de widgets peut accepter un tableau des valeurs actuelles. – benlumley