我有两个控制器,IndexController.php
和LoginController.php
。我想在成功登录后前往IndexController.php
。我有:
return $this->redirect()->toRoute(NULL , array(
'controller' => 'login',
'action' => 'home'
);
效果很好,但是当我写的时候:
'controller' => 'index', 'action' => 'index'
它不起作用。
答案 0 :(得分:2)
在您的module.config.php
中,您必须为每个控制器创建一条路线。例如,如果第一个控制器的路由为myroute1
且第二个控制器的路由为myroute2
,则我们将:
要访问第一个控制器:
return $this->redirect()->toRoute('myroute1', [
'controller' => 'login',
'action' => 'home'
]);
访问第二个控制器:
return $this->redirect()->toRoute('myroute2', [
'controller' => 'index',
'action' => 'index'
]);
答案 1 :(得分:0)
此外,您可以使用forward
控制器方法调度其他控制器的其他操作而无需重定向:
return $this->forward()->dispatch('/MyModule/Controller/MyController', ['action' => 'index']);