2013-01-02 43 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

谢谢!有用 –