2010-10-15 41 views
0

我正在寫一個zend應用程序,並儘量保持功能儘可能模塊化。基本上我想將該文件夾放入應用程序並具有即時功能。Zend application.ini資源爲不同的模塊

Anywho;我試圖從每個模塊創建邊欄鏈接。我使用的方法是使用引導程序:

以下是我的引導程序文件中的函數。我在另一個函數中設置了路線。

public function _initNavigation() 
{ 
    $navigation = new Zend_Navigation(); 
    $navigation->addPages(
     array(
     array(
      'label' => 'Link Name', 
      'route' => 'routeA', 
      'class' => 'heading' 
     ), 
     array(
      'label' => 'Link Name', 
      'route' => 'routeA', 
      'params'=>array('param' => 'value'), 
     ), 
     array(
      'label' => 'Link Name', 
      'params'=>array('param' => 'value'), 
      'route' => 'routeA' 
     ) 
    ) 
); 

    $this->bootstrap('layout'); //this line giving error :(
    $layout = $this->getResource('layout'); 
    $view = $layout->getView(); 
    $view->navigation($navigation); 

我得到的錯誤是:

資源匹配的「佈局」找不到

經過一番頭撞我發現,我不得不把模塊名稱前面config/application.ini文件中的資源,例如:

moduleA.resources.layout.layoutPath = APPLICATION_PATH "/modules/moduleA/views/scripts" 

現在這裏是q問題:如何使用單個資源獲取佈局資源?即沒有指定我使用的每個新模塊的模塊名稱?

+0

您應該創建一個答案並將其標記爲正確的答案,而不是編輯問題本身。 – 2010-10-15 10:52:24

+0

好的。回答了答案。將在兩天內標記爲答案。 – 2010-10-15 12:00:53

回答

2

做出了回答新的崗位


使用Google的很多(如果這樣做,成爲「搜索」的替代品?)我碰到Leonard Dronkers' "Zend Framework Module Config The Easy Way"來了之後。

基本上,它添加到您的模塊的引導文件

/** 
* Load config.ini file for this module. 
*/ 
protected function _initModuleConfig() 
{ 
    // load ini file 
    $iniOptions = new Zend_Config_Ini(dirname(__FILE__) . '/configs/config.ini'); 

    // Set this bootstrap options 
    $this->setOptions($iniOptions->toArray()); 
} 

,並放置在一個config文件夾一個config.ini文件的模塊中(如/modules/news/config/config.ini),把你的模塊特定的設置。

就是這樣。太棒了!

相關問題