如何在Zend Framework中重命名模块管理员

时间:2012-11-09 14:59:11

标签: zend-framework url-rewriting

我在Zend Framework中遇到URL重写问题,希望有人帮我解决。

我需要重命名模块管理员,因为URL中的admindev适用于所有控制器和操作。

这里我的代码写在Bootstrap.php中:

public function _initModuleRoutes()
{
    $this->bootstrap('FrontController');
    $frontController = $this->getResource('FrontController');
    $router = $frontController->getRouter();
    $route = new Zend_Controller_Router_Route(
        'admindev/:action/*',
        array(
            'module'=>'admin',
            'controller'=>':controller',
            'action'=>':action'
        )
    );      
    $router->addRoute('admin',$route);
    return $router;
}

全心全意,

1 个答案:

答案 0 :(得分:1)

您没有在路线中指定:controller参数。

尝试这样:

public function _initModuleRoutes()
{
    $this->bootstrap('FrontController');
    $frontController = $this->getResource('FrontController');
    $router = $frontController->getRouter();
    $route = new Zend_Controller_Router_Route(
        'admindev/:controller/:action/*',
        array(
            'module'=>'admin',
            'controller'=>':controller',
            'action'=>':action'
        )
    );      
    $router->addRoute('admin',$route);
    return $router;
}

使用application.ini配置也可以达到相同的效果:

resources.router.routes.admindev.type = "Zend_Controller_Router_Route"
resources.router.routes.admindev.route = "/admindev/:controller/:action/*"
resources.router.routes.admindev.defaults.module = "admin"

其他application.ini提示和技巧here