1


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

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);      
}

请帮助我
提前谢谢!!!

4

1 回答 1

1

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

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

[...]

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

然后它应该工作。

于 2013-01-02T09:09:48.757 回答