Bonjour à tous,

j'aimerais personnaliser un formulaire défini au départ comme suit pour la partie concernée :

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,))
dans mon controlleur il est appelé comme ça :
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);
et le twig :

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>
avec dans l'entité Diplome.php :

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;
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
7
8
 
<div class="row">
  <select multiple="multiple"  id='lstBox1'>
     {% for mesArretes form.arretes) %} 
       <option value ="{{ mesArretes.libelleArrete }}">  {{ mesArretes.libelleArrete }}</option>
     {% endfor %}
  </select>
</div>
avec Arrete.php :
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;
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
 
<div class="row">
   <select multiple="multiple"  id='lstBox1'>
      {% for mesArretes in form_widget(form.arretes) %} 
        <option value ="1">1</option>
      {% endfor %}
   </select>
</div>
mais rien ne s'affiche.

Pouvez-vous me dire pourquoi ça ne marche pas?
Merci