2013-01-02 83 views
1


如何爲同一個控制器設置多個路由器,如果我們面對一個控制器中的不同動作?
我在管理模塊的控制器服務中有兩個動作。
第一處理措施是管理和第二個是manageArticle
這裏是我的代碼在zend框架中爲同一個控制器設置多個路由器

protected function _initRoutes(){ 
    $this->bootstrap('FrontController'); 
    $router = $this->getResource('FrontController')->getRouter(); 

    $route = new Zend_Controller_Router_Route(
         'admin/services/:actionType', 
         array('module' => 'admin', 
          'controller' => 'services', 
          'action' => 'manage'), 
         array('actionType' => '(add|edit)') 
        ); 

    $router->addRoute('services', $route);  

    $routeServiceArticle = new Zend_Controller_Router_Route(
         'admin/services/article/:actionType', 
         array('module' => 'admin', 
          'controller' => 'services', 
          'action' => 'manageArticle'), 
         array('actionType' => '(addArticle|editArticle)') 
        ); 

    $router->addRoute('services', $routeServiceArticle);  
} 

請幫我提前
感謝!

回答

1

你需要給路由不同的名稱,例如:

$router->addRoute('services', $route); 

[...] 

$router->addRoute('servicesArticle', $routeServiceArticle); 

那麼它應該工作。

+0

謝謝!有用 –