Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour je cherche à utiliser un layouts différents par modules , j'ai regardé dans la doc Zend layout mais j'ai pas trés bien compris comment faire.
--application
-Bootstrap.php
-layouts
scripts
layout.html
admin.phtml
-modules
-default
-admin
mon Bootstrap.php principal
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initDoctype() { $this->bootstrap('view'); $view = $this->getResource('view'); $view->doctype('XHTML1_STRICT'); } }
mon application.ini
;====== Resource frontController resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts" resources.view[] =
Hors ligne
salut,
je pense qu'il faut que tu fasse un plugin (public fonction preDispatch) qui récupère le nom du module dans lequel tu te trouve, et faire appel au bon layout.
Dernière modification par GueloSuperStar (25-08-2009 08:45:52)
Hors ligne
Ok j'ai regardé sur la doc nottament predispatch et récupérer le nom du module courant , mais le fichier du plug in je dois le créer ou ? dans quel dossier et comment je fais appel à ce fichier ? avez vous un petit exemple merci
Hors ligne
salut,
Le plugin tu doit, si je ne me trompe pas, le mettre dans "Zend/(Monnamespace)/Plugin"
le namespace tu l'a normalement défini dans ton fichier application.ini
=> autoloaderNamespaces[] = "Monnamespace_"
Ensuite pour déclarer un plugin soit tu le met dans ton fichier application.ini :
resources.frontController.plugins[] = Monnamespace_Plugin_NomPlugin
ou soit dans le bootstrap :
$frontController = Zend_Controller_Front::getInstance();
$frontController->registerPlugin(new Monnamespace_Plugin_NomPlugin());
Pour ma part, je déclare les plugins dans application.ini quand je n'ai pas de paramètres à passer au plugin sinon dans le bootstrap
je sais pas si c'est la meilleur façon à faire donc si vous avez mieux que moi je suis preneur car toujours à la recherche d'un meilleur utilisation du ZF :-)
j'espère que ça va pouvoir t'aider sinon n'hésite pas à me demandé ;-)
Hors ligne