नोड ऐड पेज पर एक कंटेंट टाइप कैसे छिपाएं?


11

मुझे नोड ऐड पेज पर एक कंटेंट टाइप को छिपाने का तरीका चाहिए, या बेहतर अभी तक, दो अलग-अलग नोड ऐड पेजों को बनाना चाहिए जो मेरे कंटेंट टाइप्स को अलग करते हैं। मैं Drupal 7 पर हूं और चार अलग-अलग सामग्री प्रकार हैं। मैं उनमें से तीन को डिफ़ॉल्ट नोड ऐड पेज पर और चौथा अलग होना चाहूंगा। यह मैं कैसे करूंगा? धन्यवाद

जवाबों:


11

दो संभावनाएँ:

  • admin/structure/menu/manage/navigation आप नहीं चाहते कि मेनू आइटम हटो / हटाएं।
  • सबसे साफ तरीका: भूमिकाओं और अनुमतियों का उपयोग करें। यदि उपयोगकर्ता कोई सामग्री नहीं बना सकता है तो लिंक किसी भी मेनू में दिखाई नहीं देगा।

आपके उत्तर के लिए धन्यवाद। आपका पहला संभव तरीका वह है जिसका मैं उपयोग करूंगा क्योंकि मुझे अभी भी उपयोगकर्ताओं को अपने चौथे सामग्री प्रकार के नोड्स बनाने में सक्षम होने की आवश्यकता है। मुझे बस इसे अन्य तीन से अलग करने की आवश्यकता है।
oobie11

ठीक है तो बस मेनू आइटम को किसी अन्य मेनू में स्थानांतरित करें या इसे छिपाएं और एक और एक ही मेनू लिंक बनाएं (नोड / जोड़ें / </ your_content_type>)
nourcy

यह सबसे अच्छा जवाब है।
क्रिस्टिया

4

इसे कस्टम मॉड्यूल में रखें:

function yourcustommodule_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    $items['node/add/your-content-type']['type'] = MENU_DEFAULT_LOCAL_TASK;
  }
}

2
MENU_DEFAULT_LOCAL_TASK लिंक को टैब में परिवर्तित करता है। मैंने इसके बजाय MENU_CALLBACK का उपयोग किया है।
फ्रीमैन

3

अपडेट करें

MENU_CALLBACK, जैसा कि अन्य उत्तरों में सुझाया गया है, मेरे लिए यहाँ काम नहीं किया। वे अभी भी node/addपृष्ठ पर दिखाई देते हैं ।

इस कोड ने काम किया:

function MYMODULE_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    unset($items['node/add/your-content-type']);
  }
}

बेशक, यह मानता है कि आप node/addउस प्रकार के लिंक को अक्षम करना (छिपाना नहीं) करना चाहते हैं ।


मूल ANSWER

node/addपेज नोड मॉड्यूल द्वारा प्रदान की जाती है। तुम्हें पता है, नेविगेशन मेनू में मेनू आइटम को अक्षम करके आप क्या चाहते हैं ऐसा करने में सक्षम हो सकता है इस पोस्ट के अनुसार: http://data.agaric.com/disabling-or-moving-nodeaddcontent-type-links-from-beneath- ऐड-सामग्री-नेविगेशन-मेनू भी-हटा देगा

यह थोड़ा बग है, इसलिए यह ऐसा करने का एक विश्वसनीय तरीका नहीं हो सकता है। व्यक्तिगत रूप से, मैं node/addमौजूदा मॉड्यूल की प्रतिलिपि बनाकर और अपने विशिष्ट संशोधनों को बनाकर मॉड्यूल में पृष्ठ का एक कस्टम संस्करण बनाऊंगा। तब मैं का प्रयोग करेंगे hook_menu_alterबनाने के लिए node/addमेरी संस्करण पर जाएं।

आप इसे (पेज मैनेजर के साथ) देखने या पैनल के साथ बदलने में सक्षम हो सकते हैं, लेकिन मैंने यह कोशिश नहीं की है, और आप शायद स्वचालन खो देंगे।


धन्यवाद! node/addकॉपी करने के लिए पेज मेरे लिए कहाँ स्थित है? और आप विभिन्न सामग्री प्रकारों को प्रिंट करने का सुझाव कैसे देंगे?
oobie11

इसमें होना चाहिए node.pages.inc। यदि आपको उन्हें बनाने के लिए अन्य प्रकारों की आवश्यकता है, तो आप उन्हें बनाते हैं और एक स्थिर सूची नहीं रखते हैं, इसे कोड में करें।
विसंवाद संकल्प

सेल्फ-फॉलो-अप: मुझे 4.5 साल पहले का अपना जवाब पसंद नहीं है। उपरोक्त में से किसी एक का उपयोग करें :)
विस्नोलेशन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.