comment puis-je rediriger vers une autre action en passant 2 paramètres ou plus? ce code:
$this->redirect('input/new?year=' . $year . '&month=' . $month);
résulte en URL:
http://.../input?year=2009&month=9
Eh bien, c'est normal, "rediriger" rediriger vers une URL absolue. Vous pouvez le faire:
$this->redirect($this->generateUrl('default', array('module' => 'input',
'action' => 'new', 'year' => $year, 'month' => $month)));
Dans les versions Symfony actuellement prises en charge (2.7+) c'est encore plus facile :
return $this->redirectToRoute('default', array('year' => $year, 'month' => $month));
Vous pouvez également utiliser la redirection, en spécifiant le nom de l'itinéraire et le tableau de paramètres:
$this->redirect('route_name', array('year' => $year, 'month' => $month));
(Testé sur Symfony 1.4)
Je pense que ce n'est pas un comportement symfony normal. Avez-vous défini des règles de routage?
Avez-vous également essayé ceci:
$this->redirect('module/action?'.http_build_query($paramsArray));
Chose étrange. Est-ce que
$this->redirect('@default?module=input&action=new&year=' . $year . '&month=' . $month);
travailler pour vous?