在管理模块安装默认模块的布局和导航
中应用/模块/默认/ Bottstrap.php
<?php
class Default_Bootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initNavigation()
{
$layout = Zend_Layout::startMvc()->setLayout('layout');
$config = new Zend_Config_Xml(APPLICATION_PATH.'/configs/navigation.xml','nav');
$navigation = new Zend_Navigation($config);
Zend_Registry::set('Zend_Navigation', $navigation);
}
}
应用/模块/管理/ Bottstrap.php
<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initNavigation()
{
$layout = Zend_Layout::startMvc()->setLayout('admin');
$config = new Zend_Config_Xml(APPLICATION_PATH.'/configs/navadmin.xml','nav');
$navigation = new Zend_Navigation($config);
Zend_Registry::set('Zend_Navigation', $navigation);
}
}
应用/ CONFIGS /的application.ini
;Modules
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.defaultModule = "default"
resources.modules[] =
resources.frontController.actionhelperpaths.Default_Controller_Helper = APPLICATION_PATH "/modules/default/controllers/helpers"
;Layout
resources.layout.layoutpath = APPLICATION_PATH "/layouts"
;View
resources.view.doctype = "HTML5"
resources.view.encoding = "UTF-8"
resources.view.contentType = "text/html; charset=UTF-8"
答案 0 :(得分:4)
在单模块应用程序中,布局和导航通常在单个应用程序级引导程序中初始化(有时通过引用应用程序资源插件)。
但是,在多模块应用程序中,所有模块引导都将运行。因此,最后一个运行最终会覆盖所有其他的。
对于依赖于知道请求了哪个模块的这些类型的任务,您可以使用带有routeShutdown()
挂钩的前端控制器插件。每个模块X都可以注册自己的导航和布局插件,检查所请求的模块是否与X匹配。如果没有,请尽早保释。如果是,请执行初始化。
有关更多详细信息,请参阅MWOP关于模块引导主题的文章:
http://mwop.net/blog/234-Module-Bootstraps-in-Zend-Framework-Dos-and-Donts
答案 1 :(得分:0)
通过一些初始指令将程序加载到计算机中的技术,该初始指令使得能够从输入设备引入程序的其余部分。 以最少的财务资源启动(基于互联网的企业或其他企业)。