我想集成一个简单的HTML表单,允许用户更改Symfony2 Web应用程序的语言(即从页面en/faq转到fr/faq).如何以适当的方式做到这一点?
我找到了一个很好的方法来使用Symfony而不是Symfony2:http://symfony.com/blog/play-with-the-user-language
我正在努力找到一个"引用者"对象,以便在我的控制器中使用.我希望有一个类似于请求对象的对象,其参数指定_controller,_route和arguments.
我想要做的是一个语言切换器操作,将用户重定向到新语言的同一页面.有点像:
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;
}
Run Code Online (Sandbox Code Playgroud)
也有可能有另一种方法来做到这一点 - 我知道在rails中有例如"redirect_to:back"方法.
任何帮助将不胜感激.