Próbuję bez powodzenia znaleźć obiekt "referrer" do użycia w moim kontrolerze . Spodziewałem się, że obiekt będzie podobny do obiektu żądania o parametrach określających argumenty _controller, _route i .Symfony2: Polecany obiekt podobny do obiektu Request?
Co staram się robić to język przełącznik działanie, które przekierowuje użytkownikowi do tej samej strony w nowym języku. Coś wzdłuż linii:
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;
}
Możliwe jest również, że istnieje inny sposób to zrobić - Znam w szynach tam jest „redirect_to: back” metoda na przykład.
Każda pomoc zostanie bardzo doceniona.
Ok, dzięki, Gilden! –
Dowiedziałem się więcej o Symfony2 po napisaniu tego posta. Lepszą implementację można znaleźć [tutaj] (http://stackoverflow.com/questions/7414243/symfony2-help-please-with-backward-uri-referrer-during-switching-locale/7423276#7423276). – gilden