Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/11/2010, 01h20   #1
Futur Membre du Club
 
Jean-Yves
Développeur Web
Inscription : mai 2007
Messages : 49
Détails du profil
Informations personnelles :
Nom : Jean-Yves
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2007
Messages : 49
Points : 17
Points : 17
Par défaut bug avec getFlash sur 1.4.6 ?

bonjour à tous,

en local, dans mon action j'ai
Code :
1
2
$this->getUser()->setFlash('error', 'erreur ....'); 
$this->redirect('/');
et dans mon layout:
Code :
<?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 :
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 :
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
jylac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 09h05   #2
Membre à l'essai
 
Inscription : avril 2010
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 26
Points : 21
Points : 21
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!
spikie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 13h12   #3
Futur Membre du Club
 
Jean-Yves
Développeur Web
Inscription : mai 2007
Messages : 49
Détails du profil
Informations personnelles :
Nom : Jean-Yves
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2007
Messages : 49
Points : 17
Points : 17
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 :
<?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 !
jylac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 14h10   #4
Membre à l'essai
 
Inscription : avril 2010
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 26
Points : 21
Points : 21
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...
spikie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 15h35   #5
Futur Membre du Club
 
Jean-Yves
Développeur Web
Inscription : mai 2007
Messages : 49
Détails du profil
Informations personnelles :
Nom : Jean-Yves
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2007
Messages : 49
Points : 17
Points : 17
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 !
jylac est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h04.


 
 
 
 
Partenaires

Hébergement Web