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には_localeparamのみを渡すので、これはすべて問題なく理解できます。

現在のすべての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 に答える