Sto provando senza fortuna a trovare un oggetto "referrer" da utilizzare nel mio controller . Mi aspettavo che ci fosse un oggetto simile alla richiesta oggetto con parametri che specificano gli argomenti _controller, _route e .Symfony2: oggetto Referrer simile all'oggetto Request?
Quello che sto cercando di fare è un lingua switcher azione che reindirizza l'utente alla stessa pagina nella nuova lingua. Qualcosa lungo le linee di :
public function switchLangAction($_locale)
{
$args = array();
$newLang = ($_locale == 'en') ? 'fr' : 'en';
// this is how I would have hoped to get a reference to the referrer request.
$referrer = $this->get('referrer');
$referrerRoute = $referrer->parameters->get('_route');
$args = $referrer->parameters->get('args'); // not sure how to get the route args out of the params either!
$args['_locale'] = $newLang;
$response = new RedirectResponse($this->generateUrl(
$referrerRoute,
$args
));
return $response;
}
E 'anche possibile che ci sia un altro modo per fare questo - so che in rotaie c'è la "redirect_to: torna" metodo per esempio.
Qualsiasi aiuto sarebbe molto apprezzato.
Ok, grazie, Gilden! –
Ho imparato qualcosa in più su Symfony2 dopo aver scritto questo post. È possibile trovare un'implementazione migliore [qui] (http://stackoverflow.com/questions/7414243/symfony2-help-please-with-backward-uri-referrer-during-switching-locale/7423276#7423276). – gilden