2012-05-20 16 views
5

मैं बहुत Symfony2 के लिए नया हूँ और मैं TWIG में मौजूदा मार्ग का परीक्षण करने के तो मैं एक टेम्पलेट में उप-मेनू ऐसे ही प्रदान की गई है प्रदर्शित कर सकते हैं सक्षम होना चाहिए: साइडबार टेम्पलेट्स मैं उपयोग करने की कोशिश के भीतरमैं TWIG में वर्तमान URL या मार्ग कैसे प्राप्त कर सकता हूं?

{% render "CPAdminBundle:Messages:sidebarMenu" %} 
{% render "CPAdminBundle:Readings:sidebarMenu" %} 

निम्नलिखित लेकिन यह एक त्रुटि फेंकता है:

path(app.request.attributes.get('_route')) 

जो मैं पूरा करने की कोशिश कर रहा हूं, उसका सही तरीका क्या है?

+0

आप की जांच करनी चाहिए [KnpMenuBundle] (https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/index.md), यह अपने मेनू संबंधी समस्याओं का एक बहुत हल करती है। – Maerlyn

उत्तर

22

जो चेक आप करना चाहते हैं वह किसी दृश्य से संबंधित नहीं है। दृश्यों को केवल प्रदर्शित करने का ख्याल रखना चाहिए, किसी भी तरह का तर्क नहीं करना चाहिए।

अपने नियंत्रक में चेक करें और इसे एक चर में स्टोर करें, इस चर को अपने दृश्य में भेजें, और इस चर के मूल्य को चेक करें।
यदि आप हर कार्रवाई पर ऐसा करना चाहते हैं, तो kernel.controller event एक नज़र दें।

यदि आप इसे किसी भी तरह से देखना चाहते हैं, तो बस इच्छित मार्ग पर app.request.attributes.get('_route') की तुलना करें। मुझे समझ में नहीं आता कि आपने path() क्यों रखा है।

{% if app.request.attributes.get('_route') == 'my_route' %} 
{% endif %} 
+0

पथ कुछ ऐसा था जो मैंने Google से बंद कर दिया था, भले ही मैं ** {{app.request.attributes.get ('_ path')}} प्रिंट करने का प्रयास करता हूं ** ** आउटपुट कहता है ** _ आंतरिक ** और मैं ' मुझे दृश्य में मार्ग का नाम मिल रहा है, जो मुझे चाहिए क्योंकि मुझे 10 ट्विग टेम्पलेट्स पसंद हैं जो मेरे साइडबार में जाएंगे और वर्तमान मार्ग के अनुसार उपमेनस प्रदर्शित करेंगे – MikeGA

+0

'$ this-> getRequest() - > विशेषताएं-> नियंत्रक में '(_ रूट') प्राप्त करें? –

+0

यह मुझे वर्तमान मार्ग का नाम देता है जैसा कि मुझे उम्मीद है लेकिन मुझे नहीं लगता कि मुझे यह हर नियंत्रक में ऐसा करना चाहिए, मेरे पास लगभग 20 होगा, क्या आपको नहीं लगता कि इसे मेरे साइडबार टेम्पलेट में चेक किया जाना चाहिए? – MikeGA

संबंधित मुद्दे

 संबंधित मुद्दे