Bonjour,
Voilà, je dois faire un formulaire assez basique avec une liste déroulantes contenant les régions de France, un numéro de semaine (dans un champs text) et deux boutons : précédent et suivante pour naviguer sur les semaines.
La soumission du formulaire se fera en Ajax à terme.
J'ai donc créer une classe pour ce formulaire (pour l'instant il n'y a que la liste déroulant avec les régions) :
Le problème est que la région aura une valeur par défaut selon la personne connectée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('region', 'entity', array( 'class' => 'MonProjetBundle:Region', 'property' => 'name', 'query_builder' => function(\Doctrine\ORM\EntityRepository $er) { return $er->createQueryBuilder('r')->orderBy('r.name', 'ASC'); }, 'attr' => array('onchange' => 'javascript:this.form.submit();', 'value' => $options['region']) )); }
Je créer le formulaire à partir de mon controller, mais de ce fait, comment envoyer la région par défaut ?
J'ai testé ceci dans mon controller :
Le "3" étant l'id région par défaut que je souhaite. En le récupérant dans les options de mon buildForm, mais à priori ça ne fonctionne pas comme ca.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $form2 = $this->createForm(new RegionType(), array('region' => 3));
Dois-je construire le formulaire directement dans le controller ?
J'ai pas mal cherché et je ne trouve aucune réponse...
Merci d'avance.
Partager