Comment puis-je rediriger vers un autre module?
return $this->redirect()->toRoute(null, array(
'module' => 'othermodule',
'controller' => 'somecontroller',
'action' => 'someaction'
));
Cela ne semble pas fonctionner, des idées?
Voici comment je redirige de mon contrôleur vers une autre route:
return $this->redirect()->toRoute('dns-search', array(
'companyid' => $this->params()->fromRoute('companyid')
));
Où dns-search est la route vers laquelle je veux rediriger et companyid sont les paramètres url.
Finalement, l'URL devient/dns/search/1 (par exemple)
Un des moyens faciles de rediriger est:
return $this->redirect()->toUrl('YOUR_URL');
Voici le moyen de redirection dans ZF2:
return $this->redirect()->toRoute('ModuleName',
array('controller'=>$controllerName,
'action' => $actionName,
'params' =>$params));
J'espère que ceci vous aide.
Google pense que cette question est pertinente pour la redirection zf2 avec anchor , je vais donc ajouter la réponse ici, si cela ne vous dérange pas. Nous pouvons simplement utiliser l'option fragment
dans le troisième argument de toRoute
:
public function doAction(){
return $this->redirect()
->toRoute('chats',
array('action' => 'view',
'id' => $message->getChat()->getId()
),
array('fragment' => 'm' . $message->getId())
);
}
Mon itinéraire:
'chats' => array(
'type' => 'segment',
'options' => array(
'route' => '/chats/[:action/][:id/]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Application\Controller\Chats',
'action' => 'index',
),
),
),
Ainsi, l’utilisateur sera redirigé vers /chats/view/12/#m134