0

我正在尝试使用 Symfony2 和 twig 创建语言/区域设置切换 url,这将允许在不重置 url 的情况下切换路由语言:

http://example.com/en/cat/test
http://example.com/it/cat/test
http://example.com/sp/cat/test

... 等等

这是我的树枝模板的相关部分:

<a href="{{ path(app.request.attributes.get('_route'),{'_locale':'en'})}}">English</a>

我的问题是,例如使用类别 url(http://example.com/en/cat/test) 给了我例外:

The "_category" route has some missing mandatory parameters ("category").

这一切都可以理解,因为对于切换器 url,我只传递了 _locale 参数。

如何传递所有当前的 url 参数?

4

1 回答 1

4

您可以从 app.request 获取所有请求属性并覆盖其中的一部分。

<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({'_locale':'en'}))}}">
于 2013-01-14T05:43:29.417 回答