[Form] Problème d'affichage
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 :
Code:
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> |
Et formulaireModifier.html.twig :
Code:
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> |
DiplomeType.php
Code:
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';
}
} |
Dans DiplomeController.php :
Code:
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()));
} |
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