2012-03-20 23 views
21

में एक पथ संलग्न करने वाली क्वेरी स्ट्रिंग जेनरेट करें क्या किसी दिए गए मार्ग और तर्क के लिए पथ उत्पन्न करने की कोई सुविधा है, क्वेरी स्ट्रिंग को स्वचालित रूप से जोड़ना?Symfony2

{% macro path(route, args, with_query) %} 
{% spaceless %} 
    {% set with_query = with_query|default(false) and app.request.queryString %} 
    {{ path(route, args) ~ (with_query ? '?' ~ app.request.queryString : '') }} 
{% endspaceless %} 
{% endmacro %} 

वहाँ ऐसा करने के लिए कुछ देशी समारोह Symfony2/टहनी में है: एक अस्थायी समाधान के रूप में मैं एक स्वयं बनाया मैक्रो का उपयोग कर रहा हूँ?

उत्तर

66

पथ टहनी विस्तार के साथ एक अच्छी बात यह है कि unknow आर्ग सरणी के माध्यम से पारित मापदंडों स्वचालित रूप से URL के अंत में संलग्न कर रहे हैं के रूप में प्राप्त paramaters है:

{{ path('route_id', {'routeParam':'foo', 'unknownParam':'bar'}) }} 

का उत्पादन करेगा

/path/to/मार्ग/foo? unknownParam = बार

+0

खैर, जवाब स्वीकार किया गया, भले ही मुझे इसे अधिक गतिशील की आवश्यकता हो (यानी। अज्ञात पैराम अधिक हैं और तय नहीं हैं)। – gremo

+1

यह सिर्फ एक नमूना है, आप 'अज्ञात पैराम' और 'बार' 'के लिए एक चर डाल सकते हैं! – AlterPHP

+2

यह 'अज्ञात पैरामीटर' कार्यक्षमता कोर सिम्फनी 2 राउटर का हिस्सा है - ताकि आप अपने नियंत्रकों में एक ही दृष्टिकोण का उपयोग कर सकें। [आधिकारिक दस्तावेज] से (http://symfony.com/doc/current/book/routing.html#generating-urls-with-query-strings): $ राउटर-> उत्पन्न करें ('ब्लॉग', सरणी ('पृष्ठ '=> 2,' श्रेणी '=>' सिम्फनी ')); ///ब्लॉग/2? श्रेणी = सिम्फनी – Barry

-4
{{ path('name_of the_page', {'id': asdfasd.pk_id}) }}