2016-01-21 23:01:38 3501次浏览 1条回答 0 悬赏 20 金钱

如题,不在同一个module里,怎么调用其他module的动作action。或者在frontend里有一个module,在这个子module怎么调用frontend的动作呢?谢谢。

比如,在子模块里,想$this->redirect(['site/index'])总是失败的,一般跳到子模块下的site/index,加上frontend/site/index却无法访问。

最佳答案

  • drodata 发布于 2016-01-22 07:02 举报

    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 条回复
    回复于 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动作,就可以了。现在问题已经解决,我也不知道问题到底出现在哪里,先使用一种变通解决方式吧。

    回复于 2016-01-22 10:18 回复

    http://demos.krajee.com/tree-manager#tree-view

    这个原插件网址,我正在记录做的过程,下个周一之前应该可以分享出来啦。

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
bubifengyun
总监

bubifengyun NJSH

注册时间:2014-11-06
最后登录:2022-10-29
在线时长:59小时54分
  • 粉丝36
  • 金钱10
  • 威望160
  • 积分2200

热门问题