Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'affiche actuellement mon footer via un layout : echo $this->partial('common/footer.phtml');
Je souhaite y ajouter un contenu issu de la base de données. J'ai préparé les modèles et depuis l'IndexController j'arrive bien à sélectionner le contenu souhaité. Seulement, il est alors disponible uniquement dans la vue index...
Je me demande donc comment faire pour que mon contenu du footer soit disponible depuis tous les controlleurs (et sans lancer la requête dans chacun bien sûr). Faut-il faire un controlleur étendu ? Ou existe-t-il une autre méthode connue ?
Merci pour votre aide.
Dernière modification par 17795 (02-06-2011 17:50:58)
Hors ligne
Salut je pense que tu peux faire un helper de vue :
Helper in application/views/helpers
class Zend_View_Helper_helperFooter extends Zend_View_Helper_Abstract{ function helperFooter(){ //code } }
in footer.phtml
<? $this->helperFooter();?>
En espérant t'avoir aidé.
Hors ligne
Merci Guelo, en effet cela semble convenir à mon usage.
Seulement la doc est peu explicite à ce sujet. Je ne trouve pas où mettre ce fichier, j'ai essayé dans aplication/helpers, mais ça doit être ailleurs puisque je tombe sur une Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception'...
Hors ligne
Hum il faut surement que tu initialise le chemin de t'es helper dans ton bootstrap comme ça par exemple :
protected function _initView(){ // Initialisation de la vue et des helpers de vue $view = new Zend_View(); $view->addHelperPath(APPLICATION_PATH.'/views/helpers');//Chemin des helpers $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(); $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer'); $viewRenderer->setView($view); return $view; }
Tu peux surement le faire aussi dans "application.ini".
Hors ligne
J'ai toujours l'erreur.
Je ne comprend pas pourquoi si on met le fichier dans application/views/helpers, la classe devrait s'appeler Zend_View_Helper_helperFooter (j'ai aussi essayé de la nommer Application_View_Helper_Footer). Vu l'erreur, apparemment la classe n'est pas connue donc la fonction ne peut rien renvoyer.
Pourtant dans l'erreur j'ai ceci dans les used paths :
Zend/View/Helper/;C:/path/to/projet/application/views\helpers/', ce qui correspond au chemin vers cette classe, mais rien n'est chargé...
Hors ligne
Bonjour,
Si quqlqu'un a une idée pour ce problème, je n'ai toujours pas réussi. Merci !
Hors ligne
J'ai abandonné l'idée et géré ce contenu sur un seul controlleur.
Dommage j'aurais bien voulu comprendre, merci quand même pour la piste.
Hors ligne
- tu as bien nommé ta classe : Zend_View_Helper_HelperFooter
- tu as bien nommé le fichier : HelperFooter.php
Attention à la casse
Hors ligne
Pages: 1