Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour les amis, après plusieurs mois de développement sur un vieux site utilisant un sale Framework, me revoilà dans le monde de ZF pour un projet où j'ai une petite question.
Je veux créer une arborescence modulaire, où certains modules pourraient être ajoutés aisément. Mais ces modules auraient à utiliser le layout du module 'Default'.
Suivant ce type d'arborescence :
-data/ -- admin/ -- default/ ---controllers/ ----IndexController.php ---views/ ----scripts/ -----_layouts/ ------layout.phtml -----index/ ------index.phtml --module1/ ---controllers/ ----IndexController.php ---views/ ----scripts/ -----index/ ------index.phtml --module2/ --module3/ ... -html/ --index.php
module2, module3 ... suivent la même structure que module1. J'aimerai que ces modules aient leurs propres vues, mais utilisent le layout de 'default'.
Une idée ?
Dernière modification par neojick (08-07-2009 23:34:25)
Hors ligne
Dans ton Bootstrap.php
protected function _initView() { Zend_Layout::startMvc(array( 'layoutPath' => APPLICATION_PATH . 'default/views/scripts/_layouts', 'layout' => 'layout' )); }
Hors ligne
Merci mais, pour le modules 'admin', là j'aimerai que ce soit le layout propre à l'admin qui soit utilisé. Désolé j'avais oublié de le préciser.
Hors ligne
Bon en fait, après un bon café... suffit d'initialiser les controlleurs de mes module1, module2 ... avec ceci pour récupérer l'instance du MVC et modifier le LayoutPath :
$mvc = Zend_Layout::getMvcInstance(); $mvc->setLayoutPath(APP_PATH . '/modules/default/views/scripts/');
Merci pour la piste.
Hors ligne
Super, avec un petit
$frontController->addModuleDirectory(APP_PATH . '/modules/');
dans le bootstrap au lieu de :
$frontController->setControllerDirectory(array( 'default' => APP_PATH . '/modules/default/controllers', 'admin' => APP_PATH . '/modules/admin/controllers', 'module1' => APP_PATH . '/modules/module1/controllers', 'module2' => APP_PATH . '/modules/module2/controllers' ));
tout se fait automatiquement, suffit d'ajouter le dossier, et tout roule !
Que j'aime ZF !
Dernière modification par neojick (09-07-2009 08:51:04)
Hors ligne