ऊपर बताए अनुसार, सिम्फनी 2 में, मैं निर्दिष्ट मेनू बच्चे को नियंत्रक या टेम्पलेट में सक्रिय स्थिति के रूप में सेट करना चाहता हूं, मैं कैसे कि हासिल? इसका मतलब यह है कि, मुझे एक मेन्यू बच्चे के लिए कई मार्ग (नियंत्रक क्रिया, टेम्पलेट) मानचित्र चाहिए, यह संभव है? मुझे लगता है कि मैं नियंत्रक या टेम्पलेट में मेनू प्राप्त कर सकता हूं और इसे सक्रिय में सेट कर सकता हूं।
यह KNPMenuBundle का उपयोग करते समय पहले ही लागू किया गया है। क्लासेस स्वतः आपका मेनू स्वतः ही इस तरह दिखाई देगा: यह मानते हुए कि आपने मेन्यू बिल्डर का उपयोग इस प्रकार किया है: इसलिए, आपको यदि आप मैन्युअल रूप से अपने मेनू को अनुकूलित करना चाहते हैं ( आपके मामले में, आप एक ही तत्व को मैप करने वाले कई मार्ग चाहते हैं ) आप स्विच स्टेटमेंट का उपयोग कर सकते हैं: ध्यान दें: जिस तरह से केएनपी मेनू बंडल आपके मेनू को रेफर करता है, उसको अनुकूलित करें पहले
आखिरी और
current तत्वों के लिए उत्पन्न होते हैं
& lt; ul & gt; & Lt; li वर्ग = "पहले" & gt; & Lt; a href = "/ जो 1" & gt; मेनू स्तर 1 & lt; / a & gt; & Lt; / li & gt; & Lt; li वर्ग = "चालू" & gt; & Lt; a href = "/ whatever2" & gt; मेनू स्तर 2 & lt; / a & gt; & Lt; / li & gt; & Lt; li वर्ग = "अंतिम" & gt; & Lt; a href = "/ whatever3" & gt; मेनू स्तर 3 & lt; / a & gt; & Lt; / li & gt; & Lt; / ul & gt;
// src / एकमे / आपका बंडल / मेनू / Menubuilder.php सार्वजनिक फ़ंक्शन बनाते हैं SimpleMenu (अनुरोध $ अनुरोध) {$ menu = $ this- & gt; फैक्टरी- & gt; createItem ('root'); $ मेनू- & gt; setCurrentUri ($ अनुरोध & gt; getRequestUri ()); $ मेनू- & gt; जोड़ें चाल्ड ('मेनू स्तर 1', सरणी ('मार्ग' = & gt; '_route_whatever1')); $ मेनू- & gt; जोड़बील्ड ('मेनू स्तर 2', सरणी ('मार्ग' = & gt; '_route_whatever2')); $ मेनू- & gt; जोड़बील्ड ('मेनू स्तर 3', सरणी ('मार्ग' = & gt; '_route_whatever3')); $ मेनू वापसी; }
वर्तमान के बजाय
सक्रिय को सीएसएस लागू करना होगा जैसा कि आप देख सकते हैं, यह काम
$ menu- & gt; setCurrentUri ($ request- & gt; getRequestUri ()); ।
< Code> // src / Acme / YourBundle / Menu / MenuBuilder.php सार्वजनिक फ़ंक्शन बनाते हैं SimpleMenu (अनुरोध $ अनुरोध) {// आपका मेनू पहले मूल रूप से // ... // एक स्विच अगर आप मैन्युअल रूप से स्विच करने के लिए इच्छाशक्ति ($ अनुरोध - & gt; प्राप्त करें ('_ मार्ग')) {case "_route_whatever1bis": $ मेनू ['मेनू स्तर 1'] - & gt; सेट चालू (सही); टूटना; मामले "_route_whatever2bis": $ मेनू ['मेनू स्तर 2'] - & gt; सेट चालू (सच); टूटना; मामले "_route_whatever3bis": $ मेनू ['मेनू स्तर 3'] - & gt; सेट चालू (सच); टूटना; } $ मेनू लौटा; }
knp_menu.html.twig आप प्रक्रिया देख सकते हैं।
Comments
Post a Comment