Perlu dicatat bahwa jika Anda memiliki parameter kueri tambahan di URL Anda, yang bukan bagian dari rute yang dikonfigurasi, jawaban yang diterima tidak akan memasukkannya ke dalam URL saat ini (jalur).
Mengapa Anda ingin parameter tambahan?
Misalnya, jika Anda memiliki halaman daftar dengan catatan yang dapat difilter berdasarkan kata kunci dan halaman memiliki pagination, kemungkinan besar variabel kueri untuk "kata kunci" dan "halaman" tidak akan berada di rute Anda. Tetapi dalam tombol maju dan mundur untuk paging, Anda memerlukan URL lengkap saat ini (yang berisi kata kunci sehingga halaman berikutnya masih difilter). Dan Anda perlu memodifikasi variabel halaman.
Cara Menggabungkan Parameter Kueri Ekstra
Jadi Anda bisa mendapatkan rute saat ini, dan menggabungkan variabel tambahan (setelah memodifikasi satu atau lebih dari variabel tambahan itu). Perhatikan bahwa Anda menggabungkan variabel Anda sendiri ke app.request.query.all
, dan kemudian menggabungkan array itu ke dalam app.request.attributes.get('_route_params')
. The path()
metode mengharuskan Anda menyediakan semua parameter yang diperlukan dari rute, yang mengapa Anda perlu menyertakan _route_params
.
{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge(app.request.query.all|merge({'page': 2 }))) }}
Itu benar-benar jelek, tetapi jika Anda sedang mengembangkan pagination, Anda perlu memodifikasi variabel halaman pada setiap tautan yang terpisah, jadi Anda harus memasukkan semua itu setiap kali. Mungkin yang lain punya solusi yang lebih baik.