我在Zend Framework项目中尝试看似简单的东西:我想将一个模块重写为另一个模块,以便将相同的代码用于用户看来是两个不同的模块。
所以URL http://www.mydomain.net/subadmin/anyController/anyAction 被重写为 http://www.mydomain.net/admin/anyController/anyAction
用户仍然应该看到http://www.mydomain.net/subadmin/anyController/anyAction。
我不会想到这应该太难了,但我无法弄明白。
任何帮助表示感谢。
答案 0 :(得分:1)
添加执行映射的路由。
使用.ini文件指定映射:
routes.subadmin.type = "Zend_Controller_Router_Route"
routes.subadmin.route = "subadmin/:controller/:action"
routes.subadmin.defaults.module = "admin"
routes.subadmin.defaults.controller = "index"
routes.subadmin.defaults.action = "index"
或者,使用Bootstrap.php
中的代码:
protected function _initRoutes()
{
$this->bootstrap('frontcontroller');
$front = $this->getResource('frontcontroller');
$router = $front->getRouter();
$route = new Zend_Controller_Router_Route('subadmin/:controller/:action', array(
'module' => 'admin',
'controller' => 'index',
'action' => 'index',
));
$router->addRoute($route);
}