मैं मौजूदा स्थितियों के शीर्ष पर नई शर्तें कैसे जोड़ सकता हूं जो यह निर्धारित करती हैं कि मेनू आइटम दिखाई दे रहा है या नहीं? इन शर्तों को अनुमति सेटिंग्स तक सीमित नहीं किया जाना चाहिए।
एक उदाहरण के उपयोग के मामले के रूप में (जरूरी नहीं कि इस सवाल का कारण): मान लें कि मेरे पास एक सामग्री प्रकार है जिसमें उपयोगकर्ताओं को केवल एक नोड बनाने की अनुमति है। मेरे पास उस प्रकार की सामग्री जोड़ने के लिए एक मेनू आइटम है। लेकिन अगर उपयोगकर्ता ने उस सामग्री प्रकार का नोड पहले ही बना लिया है, तो मैं मेनू आइटम को छिपाना चाहता हूं। मेरा पहला विचार वर्तमान उपयोगकर्ता द्वारा बनाए गए नोड के अस्तित्व के लिए एक क्वेरी चलाने के लिए है जो विशिष्ट सामग्री प्रकार का है। यदि कोई मौजूद है, तो मेनू आइटम छिपाएँ।
मुझे लगता है कि इस प्रकार की कार्यक्षमता में जाना चाहिए hook_menu_alter()और वहां आवश्यक तर्क जोड़ना चाहिए । लेकिन मुझे यकीन नहीं है कि मौजूदा जांचों को दरकिनार किए बिना ऐसा कैसे किया जाए, जैसे कि अगर उपयोगकर्ता के पास उस प्रकार की सामग्री बनाने की अनुमति है या नहीं। क्या मुझे उस तर्क को अपनी स्थिति में शामिल करना होगा? या मैं इसे अधिलेखित किए बिना मौजूदा एक्सेस लॉजिक में जोड़ सकता हूं?
संपादित करें: कुछ लोग जवाब देने पर ध्यान केंद्रित करते हैं "मैं किसी उपयोगकर्ता को एक सामग्री प्रकार का एक नोड बनाने के लिए कैसे सीमित करता हूं"। यहां यह सवाल नहीं है। सवाल यह है कि मैं मेनू आइटम पर कस्टम एक्सेस की शर्तों को कैसे जोड़ूं।