yii子模块如何调用父模块的动作 [ 2.0 版本 ]
如题,不在同一个module里,怎么调用其他module的动作action。或者在frontend里有一个module,在这个子module怎么调用frontend的动作呢?谢谢。
比如,在子模块里,想$this->redirect(['site/index'])
总是失败的,一般跳到子模块下的site/index
,加上frontend/site/index
却无法访问。
最佳答案
-
在
frontend/site/index
前面加上/
即可:return $this->redirect('/frontend/site/index');
Guide Handling Requests - Routing and URL Creation - Creating URLs 里面讲到:
If the route has no leading slash, it is considered to be a route relative to the current module and will be prepended with the uniqueId value of the current module.
你可以读读这节内容,了解一下 Yii 将 route 转换成 url 的过程。
共 2 条回复bubifengyun 回复于 2016-01-22 10:17 回复谢谢,我是使用别人的模块,配置这个路径的,
'nodeActions' => [ Module::NODE_MANAGE => Url::to(['/treemanager/node/manage']), Module::NODE_SAVE => Url::to(['/treemanager/node/save']), Module::NODE_REMOVE => Url::to(['/treemanager/node/remove']), Module::NODE_MOVE => Url::to(['/treemanager/node/move']), ]
里面配置NODE_SAVE是可以的,但是NODE_MANAGER就不行,我把对方的MODULE拿到自己frontend/modules里来,修改其默认NODE_MANAGER动作,就可以了。现在问题已经解决,我也不知道问题到底出现在哪里,先使用一种变通解决方式吧。
bubifengyun 回复于 2016-01-22 10:18 回复http://demos.krajee.com/tree-manager#tree-view
这个原插件网址,我正在记录做的过程,下个周一之前应该可以分享出来啦。
其他 0 个回答
没有找到数据。
bubifengyun NJSH
注册时间:2014-11-06
最后登录:2022-10-29
在线时长:59小时54分
最后登录:2022-10-29
在线时长:59小时54分
- 粉丝36
- 金钱10
- 威望160
- 积分2200