Bonjour a tous,
j'ai une entité sujet manytomany avec entité tag .
Mon objectif :
Dans la vue , j'affiche le sujet et en bas ses tags associés .
a coté de cette liste de tag je mets un button update pour changer ces tags ( ajouter d'autre ou supprimer ..)
C'est pas une editAction comme d'habitude vu que je vais changer certains champs sans meme afficher ou changer les autres
Je veux changer les tags seulement .
Alors , J'ai :
FormSujet :
Vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $builder ->add('sujet') ->add('contenu', 'textarea',array('attr'=> array('class'=>'ckeditor'))) ## ->add('datecreation') ## ->add('datelus') ->add('notification', 'checkbox', array('required' => false, 'data' => true)) ## ->add('user') ->add('tags', 'entity', array('class' => 'MyApp\ForumBundle\Entity\tag', 'property' => 'title', 'expanded' => false, 'multiple' => true, 'required' => false)) ;
Action:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <form role="form" method="post" {{ form_enctype(form) }} > {{form_widget(form.tags, { 'attr': { 'style': 'width: 150px' } }) }}</br></br> {{form_widget(form._token)}} <input type="submit" value="Gem" class="btn btn-warning btn-lg"> <input type="reset" value="Annuler" style="background-color: transparent;border: 0px; color:#c52821;"> </form>
apres avoir implementer ça , le changement s'effectue mais je peux pas recuperer les anciens choix de tags dans la form d'update !!
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 public function specialeditAction($id) { /* * ************ simple edit action *************** */ $em = $this->getDoctrine()->getManager(); $sujet = $em->getRepository('MyAppForumBundle:sujet')->find($id); $s = $sujet->getSujet(); // get the current sujet pour le renvooyer aprés :) $c = $sujet->getContenu(); // get the current Contenu pour le renvooyer aprés :) if (!$sujet) { throw $this->createNotFoundException('No sujet found for id ' . $id); } $form = $this->createForm(new sujetType(), $sujet); $request = $this->getRequest(); $form->bind($request); $sujet = $form->getData(); // les données de la form $sujet->setSujet($s); // j a'joute le sujet recuperé avant a la requete update $sujet->setContenu($c);// j a'joute le Contenu recuperé avant a la requete update $em->flush(); return $this->render('MyAppForumBundle:sujet:specialedit.html.twig', array('form' => $form->createView()));
Merci d'avance .
Partager