我正在与Symfony 2在一个网站上有2种语言,我想改变我的路线模式取决于用户语言!
示例:
user_login_en:
pattern: /en/user/login.html
defaults: { _controller: SfErrorsAppBundle:User:login, _locale: en }
user_login_fr:
pattern: /fr/utilisateur/connexion.html
defaults: { _controller: SfErrorsAppBundle:User:login, _locale: fr}
在模板内部,这并不困难,我只需将$ this ->get('session')->getLocale()从控制器传递到模板...
为了工作,我必须调用我的路由:
$router->generate('user_login_'.$locale, array());
但在我的布局中,我当然有一个菜单和侧边栏,它们有链接……所以我想让locale变量来使用它!所以我的问题很简单:如何在“布局”模板中获取这个变量?否则,你有没有想过根据语言改变模式?
原因是我想为所有用户提供漂亮的路线,无论他们是英国人还是法国人……也是因为搜索引擎优化的原因!
发布于 2012-10-12 17:49:14
由于Symfony 2.1将"locale“存储在请求中,而不是会话中,您必须使用以下命令:
{{ app.request.getLocale() }}
代替app.session.locale
https://stackoverflow.com/questions/6918989
复制相似问题