Yii:不同模块的CMenu项目

时间:2012-05-07 06:27:34

标签: yii cmenu

我想在布局中创建一个菜单,其中的项目链接到其他不同的模块。

e.g: 项目“产品”链接到产品模块中的操作,项目“服务”链接到服务模块中的操作。

设置'url'=>('product/<controllerID>/<actionID>')'url'=>('service/<controllerID>/<actionID>')时无效。因为一旦我们进入产品模块并点击“服务”菜单,网址就会变为

index.php?r=product/service/<controllerID>/<actionID>

而不是

index.php?r=service/<controllerID>/<actionID>

,这将是404错误。 (当然,因为服务模块不在产品模块中,但URL看起来像这样)。

对此有何解决方案?

2 个答案:

答案 0 :(得分:3)

查看createUrl()文档:

  

网址路由。这应该是'ControllerID / ActionID'的格式。如果ControllerID不存在,则当前控制器ID将以路由为前缀。如果路由为空,则假定它是当前操作。如果控制器属于模块,则模块ID将以路由为前缀。 (如果您不想要模块ID前缀,则路径应以斜杠开头'/'。

最后一行告诉我们一切。最好的办法是使用/开始所有路线:

'url'=>array('/<moduleID>/<controllerID>/<actionID>')

答案 1 :(得分:1)

检查

'url'=>$this->createUrl('/<moduleId>/<controllerID>/<actionID>')