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 :

bug avec getFlash sur 1.4.6 ? [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre éclairé

    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 51
    Par défaut bug avec getFlash sur 1.4.6 ?
    bonjour à tous,

    en local, dans mon action j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $this->getUser()->setFlash('error', 'erreur ....'); 
    $this->redirect('/');
    et dans mon layout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if ($sf_user->hasFlash('notice')): ?><p class="flash_notice"><?php echo $sf_user->getFlash('notice') ?></p><?php endif ?>
    Le souci c'est que cela fonctionne en local avec la 1.4.3, mais pas sur mon serveur avec la 1.4.6 ! Je ne pense pas quand même que cela soit un souci de version. Dans la Debug Toolbar j'ai pour "user" en local :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    options:
      auto_shutdown: false
      culture: null
      default_culture: fr
      use_flash: true
      logging: '1'
      timeout: 1800
    attributeHolder:
      symfony/user/sfUser/flash: { error: 'erreur ... ' }
      symfony/user/sfUser/flash/remove: { error: true }
    culture: fr
    et en distant avec la 1.4.6:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    options:
      auto_shutdown: false
      culture: null
      default_culture: fr
      use_flash: true
      logging: '1'
      timeout: 2592000
    attributeHolder:
      symfony/user/sfUser/flash: { error: 'erreur ...' }
      symfony/user/sfUser/flash/remove: { error: true }
    culture: fr
    Alors à part un timeout différent, je vois pas le pb !

    Merci d'avance pour vos réponses

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    Par défaut
    Qu'es ce qui ne marche pas?

    Le flash ou la redirection?

    Sinon je pense que vue que tu fais un setFlash sur 'error', pour récupérer le flash il faut récupérer le flash sur 'error' et non sur notice!

  3. #3
    Membre éclairé

    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 51
    Par défaut
    C'est le Flash qui ne fonctionne pas. Je le "set" sur "error" et j'affiche normalement sur "error" (j'avais re-copié qu'une ligne)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if ($sf_user->hasFlash('error')): ?><p class="flash_error"><?php echo $sf_user->getFlash('error') ?></p><?php endif ?>
    Mais en affichant la Debug Toolbar que j'avais désactivée en Prod, le message s'affiche maintenant !

    Alors le souci n'est plus sur la version de Symfony, mais afficher le message aussi sur les pages de Prod. Je vais faire un tour du coté de mon fichier app.yml et seting.yml et regarder la Doc de plus près... D'ailleurs je me demande si cela ne vient pas du cache qui est à True !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    Par défaut
    Heu pour le cache, je ne suis pas sur du tout! Je ne pourrai te dire, mais si ça se trouve, c'est peut être le cas...

  5. #5
    Membre éclairé

    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 51
    Par défaut
    C'est bien à cause du cache !

    En prod seulement, j'ai mis le cache à true dans le fichier settings.yml et activer par Module le cache de l'index avec l'option "with_layout: true" !
    Du coup je mettais en cache la page HTML complète, donc pas d'affichage du message d'erreur dans le layout

    C'est tout bête comme d'habitude avec Symfony. Merci quand même Spikie !

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

Discussions similaires

  1. [MySQL] Bug PHP/MySQL avec phpMyAdmin sur type POINT
    Par zeclad01 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 19/04/2012, 10h32
  2. [AC-2007] Bug dans application sur PC avec runtime
    Par AndréPe dans le forum Runtime
    Réponses: 1
    Dernier message: 03/04/2012, 09h02
  3. [AC-2007] Bug avec runtime et pas sur version complète
    Par gwent dans le forum Runtime
    Réponses: 47
    Dernier message: 28/08/2010, 18h47
  4. Bug avec une application sur Windows XP version anglaise
    Par QAYS dans le forum Bases de données
    Réponses: 8
    Dernier message: 22/06/2009, 09h23
  5. Bug => avec DataGridView sur DefaultValuesNeeded event
    Par dsolheid dans le forum Windows Forms
    Réponses: 2
    Dernier message: 14/01/2008, 14h21

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