我有模块admin
。通常情况下,ZF会以其名称为该模块创建路由,但我不希望出现这种行为。
我想在另一条路由下访问admin
模块,例如totallyNotAdminPanel
,我希望它是访问该模块的唯一可能的路由,但当我调用$this->url(['module'=>'admin']);
时,我想查看url帮助程序以指向该模块
结论:
admin
模块只能通过totallyNotAdminPanel
路由访问- URL视图帮助程序必须指向
totallyNotAdminPanel
路由,尽管传递了['module' => 'admin']
参数
有什么办法在ZF1中实现它吗?
我认为您可以使用自定义路由。
我会这样做:
-
创建自定义路由并在引导程序类中对其进行初始化。例如
public function _initRoutes () { $router = $this->_front->getRouter(); $router->addRoute( 'admin-panel', new Zend_Controller_Router_Route( 'totallyNotAdminPanel/:controller/:action/*', ['module' => 'admin'] ) ); }
-
在视图中,使用自定义url创建链接,例如
$this->url(['module'=>'admin', 'controller'=>'users', 'action'=>'list'], 'admin-panel');
它将为您提供如下输出:/totallyNotAdminPanel/users/list-
祝你好运:)