Bonjour à tous,
je vous soumets un problème qui me ronge le crane depuis plusieurs jours et pour lequel j'y vois de moins en moins clair.
J’ai deux formulaires
formulaireAjouter.html.twig :
Et formulaireModifier.html.twig :
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 <form action="{{ path('UdcDiplomeBundle_diplome_ajouter') }}" method="post" {{ form_enctype(form) }}> {{ form_errors(form) }} <div> {{ form_label(form.nomDiplome, "Libellé du diplôme") }} {{ form_errors(form.nomDiplome) }} {{ form_widget(form.nomDiplome) }} </div> <p> <button type="submit" class="btn btn-primary">Enregistrer</button> <button type="reset" class="btn btn-primary">Annuler</button> </p> </form>
DiplomeType.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 <form action="{{ path( 'UdcDiplomeBundle_etudiant_modifier', {'id':form.vars.value.id} ) }}" method="post" {{ form_enctype(form) }}> {{ form_errors(form) }} <div> {{ form_label(form.nomDiplome, "Libellé du diplôme") }} {{ form_errors(form.nomDiplome) }} {{ form_widget(form.nomDiplome) }} </div> <p> <button type="submit" value="enregistrer" name="action1" class="btn btn-primary">Enregistrer l'arcticle</button> <button type="submit" value="supprimer" name="action1" class="btn btn-primary">Supprimer</button> </p> </form>
Dans DiplomeController.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
18
19
20
21
22
23
24
25
26
27
28
29
30
31 ?php namespace Udc\DiplomeBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Doctrine\ORM\EntityRepository; class DiplomeType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('nomDiplome','text') ; } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'Udc\DiplomeBundle\Entity\Diplome' )); } public function getName() { return 'udc_diplomebundle_diplometype'; } }
Lorsque je suis dans création (formulaireAjouter) mon formulaire affiche form_widget mais pas le form_label. Par contre lorsque je suis en modification le form_label s'affiche. Quelqu'un peut il me dire où je fais l'erreur? merci
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
50
51
52
53
54
55
56
57
58
59 public function ajouterAction() { $diplome = new Diplome; $form = $this->createForm(new DiplomeType, $diplome); $request = $this->get('request'); if( $request->getMethod() == 'POST' ) { $form->bind($request); if( $form->isValid() ) { $em = $this->getDoctrine()->getEntityManager(); $em->persist($diplome); $em->flush(); $this->get('session')->setFlash('info', 'Article bien enregistré'); return $this->redirect($this->generateUrl('UdcDiplomeBundle_diplome')); } } return $this->render('UdcDiplomeBundle:Diplome:ajouter.html.twig', array('form' => $form->createView())); } public function modifierAction($id) { $em = $this->getDoctrine() ->getEntityManager(); $monDiplome = $em->getRepository('UdcDiplomeBundle:Diplome') ->find($id); $form = $this->createForm(new DiplomeType, $monDiplome); if( $monDiplome == null ) { throw $this->createNotFoundException('Diplome[id='.$id.'] inexistant'); } $request = $this->get('request'); if( $request->getMethod() == 'POST' ) { $form->bind($request); if( $form->isValid() ) { if ($this->getRequest()->request->get('action1') == "enregistrer") { $em = $this->getDoctrine()->getEntityManager(); $em->persist($monDiplome); $em->flush(); } elseif ($this->getRequest()->request->get('action1') == "supprimer") { $em = $this->getDoctrine()->getEntityManager(); $em->remove($monDiplome); $em->flush(); } $this->get('session')->setFlash('info', 'Article bien enregistré'); return $this->redirect($this->generateUrl('UdcDiplomeBundle_diplome')); } } return $this->render('UdcDiplomeBundle:Diplome:modifier.html.twig', array('form' => $form->createView())); }
Partager