2012-08-03 61 views
0

我爲我的項目使用模塊結構。這裏是我用來指向默認模塊/控制器的代碼每個模塊的默認控制器操作

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.router.routes.home.defaults.module = main 
resources.router.routes.home.defaults.controller = index 
resources.router.routes.home.defaults.action = show 

到目前爲止這麼好。但是如何爲每個模塊設置默認的控制器動作?

回答

1
resources.router.routes.home.defaults.module = main 
resources.router.routes.home.defaults.controller = index 
resources.router.routes.home.defaults.action = show 

的你已經把你的application.ini這部分設置爲這個模塊/控制器/動作它不設置此爲默認模塊路線

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 

這條線是有利於激活模塊,但它需要與配對:

resources.modules[] = 

,並確保每個模塊有一個空的bootstrap.php在擴展Zend_Application_Module_Bootstrap模塊根。這是確保加載和路由正確發生所必需的。

現在設置默認的模塊,把這樣一行:

resources.frontController.defaultmodule = 'default' 

到你的application.ini。

這些行:

resources.frontController.defaultcontrollername = 'index' 
resources.frontController.defaultaction = 'index' 

設置的默認操作和控制,但他們做的每一個模塊。我不知道爲每個控制器或每個模塊的默認控制器指定默認操作的方法。
我通常會讓指數是默認的控制器和默認的動作,如果我想其他一些行動,而不是發生指數的我只是期待它:

public function indexAction() { 
    $this->+_forward('otherAction'); 
} 

好運。