我已将以下注释路由添加到我的控制器。
/**
* @Route("/{_locale}/over-ons", name="_about-us_nl", defaults={"_locale": "nl"}, requirements={"_locale": "nl|en|de"})
* @Route("/{_locale}/about-us", name="_about-us_en", defaults={"_locale": "en"}, requirements={"_locale": "nl|en|de"})
* @Route("/{_locale}/uber-uns", name="_about-us_de", defaults={"_locale": "de"}, requirements={"_locale": "nl|en|de"})
*/
现在我想在树枝上使用正确的路由器。但因此我需要将一个字符串与app.request结合起来。这是什么语法?
以下无效:
{{ path( '_about-us_' ~ app.request.get('_locate') ) }}
答案 0 :(得分:0)
我建议您使用JMSI18nRoutingBundle(检查here文档)。
此捆绑包可以将您的路线定义为示例:
的routing.yml
- /de/kontakt
- /en/contact
生成的网址:
<!-- uses locale of the request context to generate the route -->
<a href="{{ path("contact") }}">Contact</a>
<!-- sometimes it's necessary to generate routes for a locale other than that
of the request context, then you can pass it explicitly -->
<a href="{{ path("homepage", {"_locale": "de"}) }}">Deutsch</a>
<a href="{{ path("homepage", {"_locale": "en"}) }}">English</a>
该包提供了更多knd的自定义,如here
所述Bundle提供正确的URL而不指定语言环境。您可以设置区域设置以生成网址:
or
希望这个帮助
答案 1 :(得分:0)
使用以下内容:
{{ path('_about-us_', { '_locale': app.request.locale }) }}