我的模块中有以下控制器..
UserController.php AdminUserController.php
现在管理员控制器的路由转到:module / admin-user /(默认行为)
如何制作路线以便所有管理员更改为:
/管理/模块/用户
答案 0 :(得分:2)
您必须编写自定义路线。
在代码中:
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$route = new Zend_Controller_Router_Route(
'admin/:module/user', array('controller' => 'admin-user'));
$router->addRoute('module-admin-router', $route);
在.ini文件中(我喜欢将我的应用与application.ini分开):
[routes]
routes.module-admin-router.type = "Zend_Controller_Router_Route"
routes.module-admin-router.route = "archive/:module/user"
routes.module-admin-router.defaults.controller = "admin-user"
然后,您必须引导该应用程序部分以启用路由;
protected function _initRoutes ()
{
// setup routes here.
$front = $this->getResource('frontcontroller');
$router = $front->getRouter();
$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/routes.ini', 'routes');
$router->addConfig($config->routes);
}
此路由将匹配任何管理员/模块/用户请求,并将其发送到匹配模块中的AdminUserController。
这样的事情应该有用。现在如果事情变得非常复杂,你可能需要深入研究正则表达式路由器 - 但这很简单,我认为它需要它。