Formulaire avec valeur par défaut dynamique
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) :
Code:
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'])
));
} |
Le problème est que la région aura une valeur par défaut selon la personne connectée.
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 :
Code:
1 2
|
$form2 = $this->createForm(new RegionType(), array('region' => 3)); |
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.
Dois-je construire le formulaire directement dans le controller ?
J'ai pas mal cherché et je ne trouve aucune réponse...
Merci d'avance.