Bonjour à tous,
j'aimerais personnaliser un formulaire défini au départ comme suit pour la partie concernée :
dans mon controlleur il est appelé comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ->add('arretes', 'entity', array( 'class' => 'UdcDiplomeBundle:Arrete', 'property'=>'libelleArrete', 'multiple' => true,))
et le twig :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $em = $this->getDoctrine() ->getEntityManager(); $monDiplome = $em->getRepository('UdcDiplomeBundle:Diplome') ->find($id); $form = $this->createForm(new DiplomeType($id), $monDiplome);
avec dans l'entité Diplome.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <div class="row"> <div class="span2"> {{ form_label(form.arretes, "et à(aux) arrêté(s) concernant ce diplôme") }} </div> {{ form_errors(form.arretes) }} <div class="span7"> {{ form_widget(form.arretes , {'attr' : {'class' : 'span7'}}) }} </div> </div>
Tout cela marche bien. Ce que je veux faire depuis hier ne marche pas. J'aimerais remplacer ma liste présentée par mon entity par une double liste comme ici : j'ai commencé avec ceci dans mon fichier twig :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /** * @ORM\ManyToMany(targetEntity="Udc\DiplomeBundle\Entity\Arrete") */ private $arretes;
avec Arrete.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div class="row"> <select multiple="multiple" id='lstBox1'> {% for mesArretes form.arretes) %} <option value ="{{ mesArretes.libelleArrete }}"> {{ mesArretes.libelleArrete }}</option> {% endfor %} </select> </div>
j'ai même essayé ceci pour voir si on rentre dans la boucle alors que dans l'affichage précisé plus il y a plusieurs arretés affcihés :
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 class Arrete { /** * @var integer $id * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string $libelleArrete * * @ORM\Column(name="libelleArrete", type="string", length=255) */ private $libelleArrete;
mais rien ne s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div class="row"> <select multiple="multiple" id='lstBox1'> {% for mesArretes in form_widget(form.arretes) %} <option value ="1">1</option> {% endfor %} </select> </div>
Pouvez-vous me dire pourquoi ça ne marche pas?
Merci
Partager