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 26/05/2011, 15h09   #1
Invité régulier
 
Inscription : mai 2010
Messages : 24
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 24
Points : 7
Points : 7
Par défaut symfony 1.4 Recuperation de données depuis app.yml

Bonjour à tous,

Désolé de vous embêtez mais je rencontre un problème avec symfony. En fait ce que je veux faire si un employe est associe a un id ( l'id est dans l'adresse URL) alors on regarde quel est sa civilité ( MR ou MME) et en fonction de ça appelé via $filename on appelle un chemin du type /web/images/silhouette_homme_vignette.jpg' ou /web/images/silhouette_femme_vignette.jpg Mon soucis c'est que la variable qui contient homme ou femme est vide.
Code :
 $this->forward404Unless(sfConfig::has('app_employe_civilite_' . $this->employe['civilite']));
Cette ligne doit contenir la valeur homme ou femme en prenant app_employe_civilite_ suivit de >employe['civilite'] qui est MME ou MR. Ce qui donne app_employe_civilite_MR ou app_employe_civilite_MME qui est situé dans le app.yml
Du coup j'ai erreur 404 car si ce n'est pas homme ou femme j'ai demandé erreur 404.

Dans la barre de débug de symfony si je vais dans log je constate que la variable est vide alors que dans la barre de debug dans configuration setting j'ai
Code :
1
2
3
app_employe_civilite:
  MR: homme
  MME: femme
donc les variables sont bien chargés mais pourtant elles ne sont pas prises en comptes.
Je ne comprends pas pourquoi ? Pouvez vous m'aidez ?
Voici mon code :
Dans le fichier situé à apps/frontend/config/app.yml j'ai les valeurs suivantes :

Code :
1
2
3
4
5
all:
  employe:
    civilite:
      MR:      homme   
      MME:     femme
et dans la page actions.class.php
j'ai comme code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    $this->employe = Doctrine_Core::getTable('Employe')->find(array($request->getParameter('id')));
    $this->forward404Unless($this->employe);
    $this->forward404Unless(sfConfig::has('app_employe_civilite_' . $this->employe['civilite'])); // c'est la ligne qui doit contenir homme ou femme 
    $filename = sfConfig::get('sf_root_dir') 
	    	. '/web/images/silhouette_'
	    	. sfConfig::get('app_employe_civilite_' . $this->employe['civilite'])
	    	. '_' 
	    	. $request->getParameter('format') //vignette ou autre 
	    	. '.jpg';
    $this->forward404Unless(file_exists($filename));
    $this->getResponse()->clearHttpHeaders();
    $this->getResponse()->setContentType('image/jpeg');
    $this->getResponse()->setContent(file_get_contents($filename));
    return sfView::NONE;
En vous remerciant d'avance de vos réponses.
apprentiDev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 16h15   #2
Invité régulier
 
Inscription : mai 2010
Messages : 24
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 24
Points : 7
Points : 7
Je poste la solution si ca peut aider quelqu'un;

Le yml n'a pas l'air d'aimer quand il y a trois niveaux d'indentation. En laissant 2 niveaux d'indentation la valeur est prise en compte.
apprentiDev est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h48.


 
 
 
 
Partenaires

Hébergement Web