0

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

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

当我设置它时它不起作用'url'=>('product/<controllerID>/<actionID>')'url'=>('service/<controllerID>/<actionID>')因为一旦我们进入产品模块并单击菜单“服务”,URL就变成了

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

代替

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

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

有什么解决办法吗?

4

2 回答 2

3

检查createUrl()文档:

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

最后一行告诉我们一切。为您做的最好的事情是从所有路线开始/

'url'=>array('/<moduleID>/<controllerID>/<actionID>')
于 2012-05-07T13:53:45.333 回答
1

检查这个

'url'=>$this->createUrl('/<moduleId>/<controllerID>/<actionID>')
于 2012-05-07T07:45:11.010 回答