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 :

RedirectResponse et flash messages [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Développeur Full Stack
    Inscrit en
    Mars 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mars 2009
    Messages : 94
    Points : 69
    Points
    69
    Par défaut RedirectResponse et flash messages
    Bonjour,

    Dans mon application, j'ai une action qui définit un flash message, puis effectue un RedirectResponse vers une autre action qui fait le render :

    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
     
    public function firstAction() {
     
            // code ...
           $message = "Opération réalisée";
           $this->get('session')->setFlash('statut', $message);
     
           return new RedirectResponse($this->generateUrl('display'));
     }
     
    public function displayAction() {
     
            // code ...
           $debug = $this->get('session');
     
           return $this->render('ProjectMyBundle:Default:index.html.twig');
     }
    Dans mon Twig :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {% if app.session.hasFlash('statut') %}
        <div id="statutOk">
            {{ app.session.flash('statut') }}
        </div>
    {% endif %}
    Seulement, le flash message ne s'affiche pas et la variable $debug (dont j'analyse le contenu en pas à pas) ne contient pas le flash message qui aurait dû être passé avec le RedirectResponse comme je l'ai vu dans les exemple.

    Comment faire passer ce flash message ?

    Merci

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    bizarre moi ca marche avec

    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
    /**
     * @Route("/first")
     */
    public function firstAction()
    {
        $message = "Opération réalisée";
        $this->get('session')->setFlash('statut', $message);
     
        return $this->redirect('display');
    }
     
    /**
     * @Route("/display")
     * @Template()
     */
    public function displayAction()
    {
        return array();
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {% if app.session.hasFlash('statut') %}
        {{ app.session.flash('statut') }}
    {% else %}
        no statut
    {% endif %}

  3. #3
    Membre du Club
    Profil pro
    Développeur Full Stack
    Inscrit en
    Mars 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mars 2009
    Messages : 94
    Points : 69
    Points
    69
    Par défaut
    Tiens justement je me demande, quelle est la bonne pratique : faire un $this-redirect() ou un new RedirectResponse() ?

    J'ai trouvé l'erreur. Du CSS tout simplement, le flash message est bien dans le code source de la page. J'aurais du vérifier avant.

    Désolé.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fait plutôt $this->redirect y'a pas mal de méthodes à utiliser direct
    http://api.symfony.com/2.0/Symfony/B...ontroller.html

    Y'en aura encore plus avec la 2.1

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

Discussions similaires

  1. [CakePHP] Flash message sous IE6
    Par pc.bertineau dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 24/08/2010, 18h38
  2. [FLASH 8] Composant Alert - Message trop long
    Par aldo-tlse dans le forum Flash
    Réponses: 2
    Dernier message: 02/12/2005, 19h58
  3. [FLASH MX] Message erreur
    Par fpoupee dans le forum Flash
    Réponses: 3
    Dernier message: 05/10/2005, 17h39
  4. Réponses: 2
    Dernier message: 06/12/2004, 21h38
  5. [FLASH MX 2004] message erreur de classe
    Par matN59 dans le forum Flash
    Réponses: 3
    Dernier message: 14/06/2004, 08h59

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