【发布时间】:2011-10-18 15:20:52
【问题描述】:
我在一个有 2 种语言的网站上使用 Symfony 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());
但在我的布局中,我当然有一个菜单和侧边栏,它们有链接......所以我想获取语言环境变量来使用它!所以我的问题很简单:如何在“布局”模板中获取这个变量?否则,您是否有任何想法根据语言更改模式?
原因是我想为所有用户提供漂亮的路线,无论他们是英国人还是法国人......而且也是出于 SEO 的原因!
【问题讨论】:
标签: templates layout routing translation symfony