我正在尝试使用Symfony2和twig创建语言/区域设置切换网址,这样可以在不重置网址的情况下切换路由语言:
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>
我的问题是,例如使用类别网址(http://example.com/en/cat/test)给我例外:
The "_category" route has some missing mandatory parameters ("category").
哪一切都可以理解,因为对于切换器网址我只传递_locale参数。
如何传递所有当前网址参数?
答案 0 :(得分:4)
您可以从app.request获取所有请求属性并覆盖其中的一部分。
<a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({'_locale':'en'}))}}">