2012-03-24 56 views
0

在管理模塊的安裝佈局和默認模塊Default_Bootstrap覆蓋Admin_Bootstrap

應用/模塊/默認的導航/ 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); 
    } 
} 

application/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" 

回答

4

在單模塊應用程序中,佈局和導航通常在單個應用程序級引導中初始化(有時通過引用應用程序資源插件)。

但是,在多模塊應用程序中,所有模塊引導程序都將運行。因此,最後一個運行結束了所有其他運行。

對於這些類型的依賴於知道哪個模塊已被請求的任務,可以使用帶有routeShutdown()鉤子的前端控制器插件。每個模塊X都可以註冊自己的插件以進行導航和佈局,以檢查請求的模塊是否與X匹配。如果不是,則儘早提供保證。如果是這樣,請執行初始化。

見MWOP對模塊引導的主題更多細節的文章:

http://mwop.net/blog/234-Module-Bootstraps-in-Zend-Framework-Dos-and-Donts

0

通過一些初始指令使引進的其餘部分的手段將程序加載到計算機的技術該程序來自輸入設備。 以最少的財務資源啓動(基於互聯網的業務或其他企業)。