2010-08-27 3 views
0

j'ai mon fichier de configuration comme celui-ciComment définir des dispositions séparées pour chaque module?

[production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 
includePaths.library = APPLICATION_PATH "/../library" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules[] = 

[staging : production] 

[testing : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 

[development : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 

[database] 
resources.db.adapter    = PDO_MYSQL 
resources.db.params.dbname   = "ccgss" 
resources.db.params.username  = "root" 
resources.db.params.password  = "" 
resources.db.params.hostname  = "localhost" 
resources.db.isDefaultTableAdapter = true 

[layout] 
layoutPath = APPLICATION_PATH "/modules/default/layouts" 
contentKey = "content" 

Cela fonctionne pour le module par défaut, mais je le panneau d'administration et la mise en page est complètement différent. Comment définir la mise en page pour le module d'administration?

Répondre

1

En application.ini:

resources.layout.layout = "layout" 
resources.layout.layoutPath = APPLICATION_PATH "/layouts" 
admin.resources.layout.layout = "admin" 
admin.resources.layout.layoutPath = APPLICATION_PATH "/modules/admin/layouts" 

Vous pouvez également créer une mise en page de commutation du plugin contrôleur Dynamiquement basé sur les paramètres de la requête.

Pour plus d'informations, voir: http://blog.astrumfutura.com/archives/415-Self-Contained-Reusable-Zend-Framework-Modules-With-Standardised-Configurators.html

1

Dans votre contrôleur, vous pouvez définir la mise en page:

$layout = Zend_Layout::getMvcInstance(); 
    $layout->setLayout('admin'); 
    $layout->setLayoutPath(APPLICATION_PATH . '/modules/admin/layouts'); 

Peut-être le faire dans un preDispatch

+0

est pas là une façon de le mettre dans le bootstrap du module? –

+0

Cela devrait également fonctionner dans bootstrap, en supposant que vous avez déjà amorcé la ressource de mise en page par exemple. '$ this-> bootstrap ('layout')'. – takeshin

Questions connexes