नोड बनाते समय फ़ील्ड छुपाएं


11

नोड बनाते समय मैं किसी फ़ील्ड को कैसे छिपा सकता हूं, लेकिन किसी मोड को संपादित करते समय इसे प्रदर्शित करना।

जवाबों:


16

यदि मैं आपके प्रश्न को समझता हूं, तो मुझे लगता है कि आप एक कस्टम मॉड्यूल का उपयोग कर सकते हैं (इस उदाहरण में, मॉड्यूल का नाम है test_remove_field) और निम्नलिखित कोड शामिल करें:

function test_remove_field_form_alter(&$form, &$form_state) {

    if (arg(0) == 'node' && arg(1) == 'add') {
    $form['field_test']['#access'] = 0;
    }

}

नोट: याद रखें कि field_testआपके संबंधित क्षेत्र का नाम होना चाहिए।


धन्यवाद। मॉड्यूल बनाने से परिचित नहीं im। क्या ऐसा करने के लिए कोई सीएसएस या थीम युक्तियां हैं?
user780

हेलो एवी, आपके प्रश्न के बारे में, हाँ, यह संभव है, आप उसी IF को पेज.tpl.php (हेड ज़ोन के अंदर) में घोषित कर सकते हैं और अपने फील्ड को हटाने के लिए संबंधित (ID या CLASS) CSS नियम की घोषणा के अंदर जोड़ सकते हैं: # field_name_test {डिस्प्ले: कोई नहीं;};
सिगोटेट

1
यहाँ मेरे परीक्षण का कोड है: <? php if (arg (0) == 'नोड' और& arg (1) == 'add') {?> <style type = "text / css"> #field_name_estest {प्रदर्शन : कोई नहीं; } </ style> <? php}?>
cigotete

4

फील्ड अनुमतियां मॉड्यूल सेट क्षेत्र स्तर की अनुमतियों के लिए आप की अनुमति देता है:

  • फ़ील्ड बनाएं (सामग्री निर्माण पर संपादित करें)
  • सामग्री लेखक की परवाह किए बिना फ़ील्ड संपादित करें
  • उपयोगकर्ता द्वारा बनाई गई सामग्री पर अपना फ़ील्ड संपादित करें
  • सामग्री लेखक की परवाह किए बिना फ़ील्ड देखें
  • उपयोगकर्ता द्वारा बनाई गई सामग्री पर स्वयं का फ़ील्ड देखें

किसी क्षेत्र के लिए भूमिका आधारित अनुमति को सक्षम करने के लिए आप इन विकल्पों का उपयोग कर सकते हैं।

जब अनुमतियाँ सक्षम होती हैं, तो डिफ़ॉल्ट रूप से इस क्षेत्र तक पहुँच को अस्वीकार कर दिया जाता है और अनुमतियाँ प्रशासन पृष्ठ से उचित उपयोगकर्ता भूमिकाओं के लिए स्पष्ट अनुमति दी जानी चाहिए। दूसरी ओर, जब ये विकल्प अक्षम होते हैं, तो फ़ील्ड अनुमतियाँ सामग्री दृश्य और / या संपादन अनुमतियों से विरासत में मिलती हैं। उदाहरण के लिए, उपयोगकर्ताओं को एक विशेष नोड को देखने की अनुमति दी गई है जो इस क्षेत्र को भी देख पाएंगे, और इसी तरह।

क्षेत्र की अनुमति


3

मैं hook_form_alter () का उपयोग करता हूं और ['#access']संपत्ति को FALSE@ moon.watcher द्वारा उत्तर की तरह सेट करता हूं।

यदि आप Drupal 6 में हैं, तो आपको ऐसा करने के लिए एक मॉड्यूल की आवश्यकता होगी। Drupal 7 में आप अपने टेम्पलेट से hook_form_alter () कॉल कर सकते हैं ।


2

यह नियम प्रपत्र समर्थन मॉड्यूल के लिए उपयोग मामला है - https://www.drupal.org/project/rules_forms

विशेषताओं में शामिल:

  • फॉर्म-बाय-फॉर्म के आधार पर फॉर्म निर्माण, सत्यापन और प्रस्तुत करने के लिए घटनाओं को सक्रिय करें।
  • व्यक्तिगत रूप तत्वों या स्थितियों और क्रियाओं में संपूर्ण रूप को लक्षित करें। शीर्षक, विवरण, वजन और अधिक जैसे एक तत्व तत्व की विशेषताओं को हेरफेर करें।
  • प्रपत्र सत्यापन के दौरान प्रपत्र तत्वों के मूल्यों को मान्य करें।
  • नियम-आधारित सत्यापन विफल होने पर प्रपत्र त्रुटियां सेट करें।
  • किसी प्रपत्र को देखने या सबमिट करने पर उपयोगकर्ताओं को किसी भिन्न पृष्ठ पर पुनर्निर्देशित करें।
  • तत्व निरीक्षण उपकरण के साथ सक्रिय रूपों में तत्वों की विशेषताओं की जांच करें।

0

आप पैनल पृष्ठों के साथ नोड ऐड / एडिट फॉर्म ले सकते हैं। इसके साथ, आप चुन सकते हैं और फार्म पर आप जो चाहें चुन सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.