Domanda reindirizzamento di symfony con 2 parametri


come posso reindirizzare a un'altra azione che passa 2 o più parametri? questo codice:

$this->redirect('input/new?year=' . $year . '&month=' . $month);

risultati in URL:

http://.../input?year=2009&month=9


29
2017-09-30 09:17


origine


risposte:


Bene, è normale, reindirizzare il reindirizzamento a un URL assoluto. Ce la puoi fare:

$this->redirect($this->generateUrl('default', array('module' => 'input',
'action' => 'new', 'year' => $year, 'month' => $month)));

53
2017-09-30 17:48



È inoltre possibile utilizzare il reindirizzamento, specificando il nome del percorso e l'array dei parametri:

$this->redirect('route_name', array('year' => $year, 'month' => $month));

(Testato su Symfony 1.4)


4
2017-08-04 12:48



Penso che questo non sia un normale comportamento di symfony. Hai definito alcune regole di routing?

Hai provato anche questo:

$this->redirect('module/action?'.http_build_query($paramsArray));

3
2017-09-30 09:24



Nelle versioni di Symfony attualmente supportate (2.7+) è ancora più facile:

return $this->redirectToRoute('default', array('year' => $year, 'month' => $month));

3
2018-01-29 15:41



Cosa strana. fa

$this->redirect('@default?module=input&action=new&year=' . $year . '&month=' . $month);

Lavoro per te?


1
2017-09-30 12:40



$this->redirect('input/new/year/' . $year . '/month/' . $month);

-3
2017-09-30 19:36