2012-11-09 56 views
0

我在Zend框架中有URL重写问题,我希望有人帮我解决这个问题。如何在Zend框架中重命名模块管理员

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

这里我的代码写在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

没有指定的:在路由控制器参数。

试试看这样的:

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

+1

这是好的,需要将默认值添加到控制器和操作默认值。 resources.router.routes.admindev.type = “Zend_Controller_Router_Route的” resources.router.routes.admindev.route = “/ admindev /:控制器/:动作/ *” resources.router.routes.admindev.defaults.module =“admin” resources.router.routes.admindev.defaults.controller =“index” resources.router.routes.admindev.defaults.action =“index” 非常感谢您的帮助。 – user1482817