2011-03-30 131 views
2

我有兩個模塊,默認admin。雖然ZF正確加載管理佈局,但它始終只加載默認模塊控制器和默認模塊視圖。Zend Framework只加載默認模塊控制器

控制器的路徑在每個模塊的module.ini文件中指定。我也試圖在application.ini中這樣指定它:

admin.resources.frontController.controllerDirectory = APPLICATION_PATH "/modules/admin/controllers" 

沒有任何效果。任何想法可能出現問題?我真的很喜歡ZF之前,我開始使用模塊的..

回答

7

首先你要在你application.ini

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.frontController.defaultModule = "default" 
resources.modules[] = "" 

宣佈這一然後,把這段代碼在你的Bootstrap.php文件

public function _initAutoload() 
{ 
    // Each module needs to be registered... 
    $modules = array(
     'Admin', 
     'Default', 
     'Support', 
    ); 

    foreach ($modules as $module) { 
     $autoloader = new Zend_Application_Module_Autoloader(array(
      'namespace' => ucfirst($module), 
      'basePath' => APPLICATION_PATH . '/modules/' . strtolower($module), 
     )); 
    } 

    return $autoloader; 
} 

你是模塊目錄將看起來像這樣

modules/ 
    |-- admin 
    | |-- controllers 
    | `-- views 
    |-- default 
    | |-- controllers 
    | |-- forms 
    | |-- models 
    | `-- views 
    `-- support 
     |-- controllers 
     |-- forms 
     |-- models 
     `-- views 

這實際上將創建三個模塊默認管理支持

BTW ....我想大家都掙扎在ZF模塊。它只是需要時間,然後一旦它起作用,它就會起作用。祝你好運。

4

您不必爲每個模塊的控制器提供路徑。只需添加下面的指令進入的application.ini:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.frontController.defaultModule = "default" 
resources.modules[] = 
1

要訪問您的模塊的資源,即窗體,模型,插件等;您需要在模塊的根目錄中添加模塊的Bootstrap類。看看下面的示例。只要在那裏,你就可以使用模塊的資源。隨時根據您的需求進行擴展。

<?php 

class User_Bootstrap extends Zend_Application_Module_Bootstrap 
{ 

} 
相關問題