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 variable session dans twig [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut problème variable session dans twig
    Bonjour,

    Je rencontre un problème d'accès aux variables de session dans mes twig

    Je suis en version 2.3

    par exe dans mon controlleur je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $session = new Session();
            $session->start();
    $session->getFlashBag()->add('notice', "Votre url n'est pas valide");
    return $this->render('SimsuPasswordModifyBundle:Default:erreur.html.twig');
    et dans mon twig:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {{ dump(app.session) }}
    j'obtiens : NULL

    J'ai modifier mon php.ini comme préconisé et mis dans mon config.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        session:
            # handler_id set to null will use default session handler from php.ini
            handler_id:  ~
    J'ai vidé le cage etc... rien à faire.

    Si je fais un var_dump($session); dans mon controlleur j'obtiens des résultats:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    object(Symfony\Component\HttpFoundation\Session\Session)#262 (3) { ["storage":protected]=> object(Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage)#263 (5) { ["bags":protected]=> array(2) { ["attributes"]=> object(Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag)#267 (3) { ["name":"Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag":private]=> string(10) "attributes" ["storageKey":"Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag":private]=> string(15) "_sf2_attributes" ["attributes":protected]=> &array(0) { } } ["flashes"]=> object(Symfony\Component\HttpFoundation\Session\Flash\FlashBag)#268 (3) { ["name":"Symfony\Component\HttpFoundation\Session\Flash\FlashBag":private]=> string(7) "flashes" ["flashes":"Symfony\Component\HttpFoundation\Session\Flash\FlashBag":private]=> &array(1) { ["notice"]=> array(5) { [0]=> string(26) "Votre url n'est pas valide" [1]=> string(26) "Votre url n'est pas valide" [2]=> string(26) "Votre url n'est pas valide" [3]=> string(26) "Votre url n'est pas valide" [4]=> string(26) "Votre url n'est pas valide" } } ["storageKey":"Symfony\Component\HttpFoundation\Session\Flash\FlashBag":private]=> string(12) "_sf2_flashes" } } ["started":protected]=> bool(true) ["closed":protected]=> bool(false) ["saveHandler":protected]=> object(Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy)#265 (4) { ["handler":protected]=> object(SessionHandler)#266 (0) { } ["wrapper":protected]=> bool(true) ["active":protected]=> bool(true) ["saveHandlerName":protected]=> string(4) "user" } ["metadataBag":protected]=> object(Symfony\Component\HttpFoundation\Session\Storage\MetadataBag)#264 (5) { ["name":"Symfony\Component\HttpFoundation\Session\Storage\MetadataBag":private]=> string(10) "__metadata" ["storageKey":"Symfony\Component\HttpFoundation\Session\Storage\MetadataBag":private]=> string(9) "_sf2_meta" ["meta":protected]=> &array(3) { ["u"]=> int(1412151405) ["c"]=> int(1412150964) ["l"]=> string(1) "0" } ["lastUsed":"Symfony\Component\HttpFoundation\Session\Storage\MetadataBag":private]=> int(1412151285) ["updateThreshold":"Symfony\Component\HttpFoundation\Session\Storage\MetadataBag":private]=> int(0) } } ["flashName":"Symfony\Component\HttpFoundation\Session\Session":private]=> string(7) "flashes" ["attributeName":"Symfony\Component\HttpFoundation\Session\Session":private]=> string(10) "attributes" }
    une idée?

    j'ai testé de mettre mon appli sur un autre serveur au cas ou pour voir et le résultat est le même

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    J'avoue que je n'ai jamais utilisé moi-même le [codeinline=twig]{{app.session}}[codeinline]
    Je ne peux que te conseiller de faire un peu plus de tests...

    J'ai mis les liens par ordre de pertinence.
    Vérifier les bases.
    Vérifier les méthodes qui semble fonctionner pour les autres.
    Les hacks pour ajouter des variables globales // vérifier comment et déclarer app.session

    Cordialement,
    Patrick Kolodziejczyk.

    Source :
    http://symfony.com/fr/doc/current/bo...messages-flash
    http://alexandre.clain.info/twig-les...s/#app-session
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut
    Salut, merci pour ta réponse.

    les trois premiers liens je les avaient déjà explorer, le dernier aurait pu être intéressant mais ne me donne pas plus de résultat

  4. #4
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    En dernière recours, tu peux ajouter le paramètre dans le render.
    Personnellement, c'est ce que j'avais fait pour un paramètre que j'utilise de manière systématique dans mes pages. Via un Controlleur spécifique que j'étends par la suite.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  5. #5
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut
    mouai je vois l'idée mais ça ne me satisfait pas trop trop ça mais je retiens l'idée en attendant

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Bonjour,

    $session = new Session();
    $session->start();
    $session->getFlashBag()->add('notice', "Votre url n'est pas valide");
    return $this->render('SimsuPasswordModifyBundleefault:erreur.html.twig');
    Il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $this->get('session')->getFlashBag()->add('notice', "Votre url n'est pas valide");
    return $this->render('SimsuPasswordModifyBundle:Default:erreur.html.twig');

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

Discussions similaires

  1. passer variable session dans une requete
    Par mghari11 dans le forum JDBC
    Réponses: 1
    Dernier message: 18/06/2008, 23h18
  2. Appel variable session dans une class
    Par safisafi dans le forum ASP.NET
    Réponses: 4
    Dernier message: 04/04/2008, 10h59
  3. recuperer une variable session dans un SQLDataSource
    Par intissar_g dans le forum ASP.NET
    Réponses: 1
    Dernier message: 10/05/2007, 13h29
  4. variable session dans une requête
    Par foxofx dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2007, 22h26
  5. Problème de session dans <html:checkbox
    Par don'de dans le forum Struts 1
    Réponses: 15
    Dernier message: 16/04/2007, 19h46

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