6

小枝からGETパラメータ値を置き換える方法はありますか?

たとえば、次のアドレスにページがあります。

http://localhost/app_dev.php/test/?param1=40&sort=name

そして、私の小枝では、次のような 3 つのリンクを作成したいと考えています。

http://localhost/app_dev.php/test/?param1=40&sort=name 
http://localhost/app_dev.php/test/?param1=40&sort=address 
http://localhost/app_dev.php/test/?param1=40&sort=code 

今のところ、URL の最後に「&sort」パラメーターをもう一度追加しましたが、この解決策は実際には「パッチ」であり、最悪です!

<a href="{{app.request.requesturi}}&sort=address">address</a>

この例では 2 つのパラメーターしかありませんが、実際には約 6 つのパラメーターがあります。これは、生成されたリンクが .

4

2 に答える 2

30

これで問題が解決するはずです:

{{ path(app.request.attributes.get('_route'),
   app.request.query.all|merge({'sort': 'address'})) }}

現在のルートと、追加する前に更新したいものとマージされるすべてのクエリ パラメータを取得します。

于 2013-03-12T14:14:24.670 に答える
2

symfony/Twigpath関数はオプションのパラメーターを受け入れます。これらのパラメーターがルートの一部である場合、それらはルーターによって処理されますが、そうでない場合は、GET パラメーターとして渡されます。

たとえば、対応するルートが次の場合my_route:

<a href="{{ path('my_route', {'param1':40, 'sort':'address'}) }}">address</a>
于 2013-03-12T14:03:55.250 に答える