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.
$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
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 :
1 2 3 4 5
| all:
employe:
civilite:
MR: homme
MME: femme |
et dans la page actions.class.php
j'ai comme 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.
Partager