यह ध्यान दिया जाना चाहिए कि यदि आपके URL में अतिरिक्त क्वेरी पैरामीटर हैं, जो कॉन्फ़िगर किए गए मार्ग का हिस्सा नहीं हैं , तो स्वीकृत उत्तर उन्हें वर्तमान URL (पथ) में शामिल नहीं करेगा।
आप अतिरिक्त पैरामीटर क्यों चाहते हैं?
उदाहरण के लिए, यदि आपके पास रिकॉर्ड के साथ एक सूची पृष्ठ है जिसे कीवर्ड द्वारा फ़िल्टर किया जा सकता है और पृष्ठ में पृष्ठांकन है, तो संभवतः "कीवर्ड" और "पेज" के लिए क्वेरी चर आपके मार्ग में नहीं होंगे। लेकिन पेजिंग के लिए आपके आगे और पीछे के बटन में, आपको पूर्ण वर्तमान URL की आवश्यकता होती है (जिसमें कीवर्ड होते हैं इसलिए अगला पृष्ठ अभी भी फ़िल्टर किया जाता है)। और आपको पृष्ठ चर को संशोधित करने की आवश्यकता है।
अतिरिक्त क्वेरी पैरामीटर में विलय कैसे करें
तो आप वर्तमान मार्ग प्राप्त कर सकते हैं, और अतिरिक्त चर में विलय कर सकते हैं (उन अतिरिक्त चर में से एक या अधिक को संशोधित करने के बाद)। ध्यान दें कि आप अपने स्वयं के चर में विलय कर रहे हैं app.request.query.all
, और फिर उस सरणी को में विलय कर रहे हैं app.request.attributes.get('_route_params')
। path()
विधि की आवश्यकता है कि आप मार्ग है, जिसके कारण आप शामिल करने की ज़रूरत के सभी आवश्यक पैरामीटर प्रदान _route_params
।
{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge(app.request.query.all|merge({'page': 2 }))) }}
यह वास्तव में बदसूरत है, लेकिन यदि आप पृष्ठांकन विकसित कर रहे हैं, तो आपको प्रत्येक अलग लिंक पर पृष्ठ चर को संशोधित करना होगा, इसलिए आपको हर बार पूरी चीज को शामिल करना होगा। शायद दूसरों के पास एक बेहतर उपाय है।