首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Symfony布局中获取_locale变量?

如何在Symfony布局中获取_locale变量?
EN

Stack Overflow用户
提问于 2011-08-03 05:39:02
回答 1查看 89.9K关注 0票数 71

我正在与Symfony 2在一个网站上有2种语言,我想改变我的路线模式取决于用户语言!

示例:

代码语言:javascript
复制
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()从控制器传递到模板...

为了工作,我必须调用我的路由:

代码语言:javascript
复制
$router->generate('user_login_'.$locale, array());

但在我的布局中,我当然有一个菜单和侧边栏,它们有链接……所以我想让locale变量来使用它!所以我的问题很简单:如何在“布局”模板中获取这个变量?否则,你有没有想过根据语言改变模式?

原因是我想为所有用户提供漂亮的路线,无论他们是英国人还是法国人……也是因为搜索引擎优化的原因!

EN

回答 1

Stack Overflow用户

发布于 2012-10-12 17:49:14

由于Symfony 2.1将"locale“存储在请求中,而不是会话中,您必须使用以下命令:

代码语言:javascript
复制
{{ app.request.getLocale() }}

代替app.session.locale

票数 105
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6918989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档