2016-06-17 4 views
0

Ich habe zwei Controller, IndexController.php und LoginController.php. Ich möchte nach einer erfolgreichen Anmeldung zu IndexController.php gehen. Ich habe:Wie kann ich auf einen anderen Controller umleiten?

return $this->redirect()->toRoute(NULL , array( 
    'controller' => 'login', 
    'action' => 'home' 
); 

Es funktioniert gut, aber wenn ich schreibe:

'controller' => 'index', 'action' => 'index' 

Es funktioniert nicht.

+0

Sie sollten den Routennamen (anstelle des NULL-Werts) angeben. – chaoss88

Antwort

2

In Ihrem module.config.php müssen Sie eine Route für jeden Controller erstellen. Wenn zum Beispiel die Route des ersten Controllers myroute1 und die Route des zweiten Controllers ist myroute2 ist, werden wir haben:

Um den ersten Controller zuzugreifen:

return $this->redirect()->toRoute('myroute1', [ 
    'controller' => 'login', 
    'action' => 'home' 
]); 

Um den zweiten Controller zuzugreifen:

return $this->redirect()->toRoute('myroute2', [ 
    'controller' => 'index', 
    'action' => 'index' 
]); 
+0

Vielen Dank Herr, ich poste meine modul.config.php und LoginController.php unten: bitte helfen Sie mir, Herr. –

0

Sie können auch forward Methode des Controller verwenden, um andere Wirkung anderer Controller ohne Umleitung zu versenden:

return $this->forward()->dispatch('/MyModule/Controller/MyController', ['action' => 'index']);