在zend框架中为同一个控制器设置多个路由器

时间:2013-01-02 05:10:09

标签: zend-framework zend-controller-router


如果我们在一个控制器中面对不同的动作,如何为同一个控制器设置多个路由器? 我在管理模块中的控制器服务中有两个动作 第一个行动是管理,第二个是管理文章
这是我的代码

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 个答案:

答案 0 :(得分:1)

您需要为路线指定不同的名称,例如:

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

[...]

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

然后它应该工作。