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 :

Problème message flash [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut Problème message flash
    Bonjour à tous j'ai un problème je voudrais afficher un message flash issue de ma session le message est bien là existe mais n'ai jamais affiché
    mon controller
    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
    60
    <?php 
     
    namespace Qcm\SalleTpBundle\Controller; 
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
    use Symfony\Component\HttpFoundation\Response; 
    use Qcm\SalleTpBundle\Entity\Salle;
    use Symfony\Component\HttpFoundation\Request; 
     
    class SalleController extends Controller 
    { 
       public function indexAction() 
        { 
            $session  = $this->get('session'); 
            if ($session->has('nbreFois')) 
              $session->set('nbreFois', $session->get('nbreFois')+1); 
            else 
              $session->set('nbreFois', 1); 
    		\Doctrine\Common\Util\Debug::dump($this->get('session')->getFlashBag()->get('infoAjout'));//pour le debugage
            return $this->render('QcmSalleTpBundle:Salle:index.html.twig', 
                                 array('nbreFois' => $session->get('nbreFois'))); 
        }
     
    	 public function voirSalleAction($id) 
        { 
            $repository = $this->getDoctrine()->getManager() 
                          ->getRepository('QcmSalleTpBundle:Salle'); 
            $salle = $repository->find($id); 
            if($salle === null) 
               throw $this->createNotFoundException('Salle[id='.$id.'] inexistante'); 
            return $this->render('QcmSalleTpBundle:Salle:voirSalle.html.twig', 
                                  array('nomSalle' => $salle->__toString())); 
        }
     
    	public function ajouterSalleAction(Request $request) {
    	$salle = new Salle; 
            $form = $this->createFormBuilder($salle) 
                         ->add('batiment', 'text') 
                         ->add('etage', 'text') 
                         ->add('numero', 'text') 
                         ->add('envoyer', 'submit') 
                         ->getForm(); 
            $form->handleRequest($request); 
            if ($form->isValid()) {
                { 
                    $entityManager = $this->getDoctrine()->getManager(); 
                    $entityManager->persist($salle); 
                    $entityManager->flush(); 
    				$this->get('session')->getFlashBag()->add('infoAjout', 
                                                    'nouvelle salle '.$salle->__toString()); 
                    $url = $this->generateUrl('qcm_salle_tp_accueil');  
    				/*\Doctrine\Common\Util\Debug::dump($this->get('session')->getFlashBag());
    				return new Response('<html><body></body></html>');*/
                    return $this->redirect($url); 
                } 
            } 
            return $this->render('QcmSalleTpBundle:Salle:ajouterSalle.html.twig', 
                                 array('form' => $form->createView()));
    	}
    }
    mon 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
    18
    19
    <html>
    <body>
    <h1>Les salles de TP</h1> 
            <p><i>page visitée {{ nbreFois }} fois.</i></p> 
    		<ul> messages : 
                 {# affichage de  message flash s'il y a #}    
                {% for message in app.session.flashbag.get('infoAjout') %} 
                    <li>{{ message }}</li> 
                {% endfor %} 
     
            </ul>
            <p>voir la salle <a href="{{ path('qcm_salle_tp_voir_salle', 
                                       { 'id': 3 }) }}">3</a></p> 
            <p><a href="{{ path('qcm_salle_tp_ajouter_salle') }}">ajouter une salle</a></p> 
     
     
     
    </body>
    </html>
    cela ne m'affiche rien
    pourtant dans mon debug ma variable infoAjout affiche bien toutes les informations " nouvelle salle ..." donc elle est bien transmise mais il n'arrive pas à l'afficher seriez-vous m'aider s'il vous plaît?

  2. #2
    Membre habitué
    Ingénieur d'études et de développement
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur d'études et de développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Points : 154
    Points
    154
    Par défaut
    Tu as essayé sans ton debug ?

    Si tu affiches ton flash dans ton controller, ton flashbag est vidé donc tu n'auras rien en twig.

    Le flashbag de session se vide une fois les message affichés

  3. #3
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Merci de votre réponse,j'ai enlevé le debug et cela fonctionne.

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

Discussions similaires

  1. message flash, problème CSS
    Par slack457 dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 17/10/2013, 03h10
  2. [1.x] Problème avec messages Flash
    Par jekif dans le forum Débuter
    Réponses: 2
    Dernier message: 08/03/2011, 16h53
  3. Problème message d'erreur et action sur clic
    Par rangernoir dans le forum Access
    Réponses: 5
    Dernier message: 26/09/2005, 12h10
  4. Réponses: 1
    Dernier message: 12/09/2005, 11h28

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