IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[Form] Problème d'affichage [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut [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 : 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>
    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
     
    <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 : 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';
        }
    }
    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
    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

  2. #2
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut
    j'ai trouvé : dans notepad il faut enregistrer tous les fichiers encoder en UTF8 sans BOM J'y suis arrivé mais pas évident à trouver.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Forms 6]problème d'affichage d'un sysdate
    Par Zipyz dans le forum Forms
    Réponses: 2
    Dernier message: 29/12/2006, 07h19
  2. Réponses: 5
    Dernier message: 28/08/2006, 12h57
  3. Problème d'affichage de boutton (Forms 6i)
    Par OUALASS dans le forum Forms
    Réponses: 1
    Dernier message: 31/05/2006, 20h33
  4. [MySQL] Problème d'affichage sous forme de tableau
    Par mogway95 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/03/2006, 16h31
  5. [C#] problème d'affichage d'une nouvelle Form
    Par michel_frederic dans le forum C#
    Réponses: 15
    Dernier message: 17/11/2005, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo