Bonjour,
J'ai un formulaire et j'aimerais le modifier. Du coup, j'aimerais pouvoir voir dans une liste déroulante les différents options que j'avais j'avais choisi auparavent.
En gros, j'ai ce type:
J'ai ce model:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 <?php namespace Jeu\JeuBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\Extension\Core\ChoiceList\ChoiceList; class JeuType extends AbstractType { protected $joueurs; public function __construct($joueurs = null) { $this->joueurs= $joueurs; } public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('equipe', 'text', array( 'label'=>'Equipe', 'required' => false, 'attr' => array('class' => 'form-control'), 'label_attr' => array('class' => '') ->add('joueurs', 'choice', array( 'label'=>'Joueurs', 'required' => false, 'attr' => array('class' => 'form-control'), 'label_attr' =>array('class' => ''), 'choices' => $this->joueurs, 'multiple' => true, 'expanded' => false )); } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array('data_class' => 'Jeu\JeuBundle\Model\JeuModel')); } public function getName() { return 'create_event_form'; } }
Le twig associé est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?php namespace Jeu\JeuBundle\Entity\Model; class JeuModel { protected $joueurs; public function __construct($joueurs = null) { $this->joueurs = $joueurs; } public function getJoueurs() { return $this->joueurs; } public function setJoueurs($joueurs) { $this->joueurs = $joueurs; } }
Dans une méthode de mon controller, j'ai la partie GET qui ressemble à ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 {{ form_start(form, {'action' : '', 'class' : 'form-horizontal'}) }} {{ form_errors(form) }} <div class="row"> <div class="form-group col-md-8"> {{ form_label(form.equipe) }} {{ form_widget(form.equipe) }} </div> </div> <div class="row"> <div class="form-group col-md-12"> {{ form_label(form.joueurs) }} {{ form_widget(form.joueurs) }} </div> </div> <div class="row"> <div class="form-group col-sm-offset-2 col-md-2"> <input class="form-control btn btn-primary" type="submit" value="Mettre à jour"> </div> <div class="col-md-6"> </div> </div> {{ form_end(form) }}
En gros, joueurs_list correspond à tous les joueurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if ($method == "GET") { $form = $this->createForm(new JeuType($joueurs_list), $JeuModel); return $this->render('JeuBundle:Equipe:choix-equipe.html.twig', array("form" => $form->createView())); }
Ce que j'aimerais, c'est que dans mon GET, préselectionner certains joueurs qui seraient spécifier dans une variable.
Du coup, les joueurs préselectionné seraient en surbrillance et les autres non.
Comment dois je procéder s'il vous plaît?
Je vous remercie par avance,
Partager