'फ्रंट पेज पर प्रमोट' और 'स्टिकी' विकल्पों को कैसे निष्क्रिय करें?


14

दो संभावित तरीके जो मैंने खोजे हैं:

नोड संपादित रूपों पर दोनों विकल्पों को परेशान करने के लिए hook_form_alter का उपयोग करें। लेकिन मुख्य व्यवस्थापक सामग्री पृष्ठ पर, विकल्प अभी भी 'अपडेट विकल्प' ड्रॉपडाउन के तहत दिखाई देते हैं।

ओवरराइड नोड विकल्प मॉड्यूल का उपयोग करें । यह दानेदार नियंत्रण प्रदान करता है, लेकिन इसका अर्थ है 'व्यवस्थापन सामग्री' की अनुमति को अक्षम करना। उपयोगकर्ता तब 'अपडेट विकल्प' बिल्कुल नहीं देख सकते हैं, जो अभी भी उन्हें बल्क पब्लिश, डिलीट करने आदि के लिए चाहिए।

जवाबों:


16

3 जगह हैं, जहाँ उन विकल्पों को देखा जा सकता है:

  • "आलेख" सामग्री प्रकार के लिए व्यवस्थापक / संरचना / प्रकार / प्रबंधन / लेख पर

    स्क्रीनशॉट

  • नोड / 2 / संपादन पर, नोड के लिए आईडी के साथ 2 के बराबर

    स्क्रीनशॉट

  • "अपडेट विकल्प" के बीच, व्यवस्थापक / सामग्री पर

    स्क्रीनशॉट

यदि आपको उन सेटिंग / प्रशासनिक पृष्ठों से विकल्पों को हटाने की आवश्यकता है, तो आपको निम्न फ़ॉर्म बिल्डरों को बदलने की आवश्यकता है:

node_admin_nodes()व्यवस्थापक / सामग्री में नोड प्रशासन अवलोकन के लिए फॉर्म बिल्डर है, जिसमें "अपडेट विकल्प" फ़ील्ड शामिल है जो उपयोगकर्ताओं को फ्रंट पेज से नोड को बढ़ावा देने / डिमोट करने और नोड स्टिकी बनाने के लिए सही अनुमति देता है। क्षेत्र मॉड्यूल द्वारा कार्यान्वित सभी नोड संचालन को सूचीबद्ध करता है; साथ प्राप्त संचालन की सूची में $operations = module_invoke_all('node_operations'), उन कार्यों से प्रतिनिधित्व कर रहे हैं $operations['promote'], $operations['demote'], $operations['sticky'], और $operations['unsticky']


13

यहाँ एक कस्टम मॉड्यूल है जो मैंने Drupal 7 के लिए लिखा था जो नोड ऐड / एडिट फॉर्म, कंटेंट टाइप ऐड / एडिट फॉर्म और एडमिन / कंटेंट ड्रॉपडाउन पर "फ्रंट पेज पर प्रमोट करना" और "लिस्ट में सबसे ऊपर स्टिकी" को हटाता है। यह मॉड्यूल किसी भी डेटाबेस सेटिंग्स को नहीं बदलता है, इसलिए यह मौजूदा सामग्री को नहीं बदलेगा, आप इसे हमेशा अक्षम कर सकते हैं और अपने विकल्प वापस पा सकते हैं और सब कुछ ठीक उसी तरह काम करेगा जैसे पहले किया था।

इस कोड को एक Hide_sticky_promote.module में पेस्ट करें और एक समान Hide_sticky_promote.info फ़ाइल बनाएं, मॉड्यूल और वाल्ला को सक्षम करें, और अधिक चिपचिपा और चेकबॉक्स या ड्रॉपडाउन चयनों को बढ़ावा न दें।

/**
 * Remove sticky/promote entirely from add and edit content type forms.
 *
 * Implements hook_form_FORM_ID_alter().
 */
function hide_sticky_promote_form_node_type_form_alter(&$form, &$form_state, $form_id) {
  // Remove sticky/promote entirely from add and edit content type forms.
  $options = array('promote', 'sticky');
  foreach ($options as $key) {
    unset($form['workflow']['node_options']['#options'][$key]);    
  }
}

/**
 * Remove sticky/promote entirely from node/X/edit & node/X/add forms.
 * 
 * Implements hook_form_BASE_FORM_ID_alter().
 */
function hide_sticky_promote_form_node_form_alter(&$form, &$form_state, $form_id) {
  $options = array('promote', 'sticky');
  foreach ($options as $key) {
    $form['options'][$key]['#access'] = FALSE;
  }
}

/**
 * Remove some sticky/promote update options on admin/content.
 *
 * Implements hook_form_FORM_ID_alter().
 */
function hide_sticky_promote_form_node_admin_content_alter(&$form, &$form_state, $form_id) {
  $options = array('demote', 'promote', 'sticky', 'unsticky', );
  foreach ($options as $key) {
    unset($form['admin']['options']['operation']['#options'][$key]);
  }
}

या इसे यहां से मॉड्यूल रूप में पकड़ें: https://github.com/StudioZut/hide-sticky-promote


3

निम्न का उपयोग करें:

/**
 * Implements hook_form_alter().
 * This is remove the promote to frontpage, and make sticky options from node edit pages
 */
function alter_drupal_form_alter(&$form, &$form_state, $form_id) {
  if (strpos($form_id, '_node_form') !== FALSE) {
    unset($form['options']['sticky']);
    unset($form['options']['promote']);
  }

  if (strpos($form_id, 'node_admin_content') !== FALSE) {
    //$opt[''] = '- Select -';
    $opt['publish'] = 'Publish selected content'; 
    $opt['unpublish'] = 'Unpublish selected content'; 
    $opt['delete'] = 'Delete selected content'; 
    $opt['pathauto_update_alias'] = 'Update URL alias'; 
    $form['admin']['options']['operation']['#options'] = $opt;


    // print_r($form['admin']['options']['operation']['#options']);
  }
}

2

Drupal 8 में, विकल्प को सामग्री के अनुसार अक्षम किया जा सकता है:

/admin/structure/types/manage/page/form-display

"नोड ऑपरेशन बल्क फॉर्म" फ़ील्ड को भी व्यवस्थापक / व्यवस्थापक / सामग्री से संबंधित कार्रवाई को हटाने के लिए व्यवस्थापक सामग्री दृश्य में संशोधित किया जाना चाहिए

/admin/structure/views/view/admin_content

यदि उदाहरण के लिए कस्टम दृश्यों के साथ उपयोग के लिए सामग्री प्रकार को बढ़ावा देने के विकल्प रखना चाहते हैं, तो "फ्रंटपेज" जो फ्रंटपेज पेज उत्पन्न करता है, उसे भी संशोधित किया जा सकता है।

/admin/structure/views/view/frontpage

उदाहरण के लिए एक अतिरिक्त फ़िल्टर जोड़ना 'पदोन्नत के बराबर नहीं है' और "नो रिजल्ट बिहेवियर" को हटाना "" उस दृश्य को कोई परिणाम नहीं देता है।


1

आप सामग्री प्रकार का संपादन करके 'फ्रंट पेज पर प्रचार करें' को अक्षम कर सकते हैं। इसे और / या 'चिपचिपा' विकल्प, संशोधन और अधिक छिपाने के लिए, ड्रुपल 7 के लिए जैमर मॉड्यूल की जांच करें ।


0

एक अलग टेम्प्लेट क्षेत्र क्यों न बनाएं जो केवल फ्रंट पेज पर दिखाई देता है और उस पेज पर ['सामग्री'] क्षेत्र को हटा दें?

रूपों पर तत्वों को css या hook_preprocess_form () के साथ छिपाया जा सकता है


0

मैं इसके लिए "प्रचार अक्षम करें" मॉड्यूल का उपयोग करता हूं ।

यह कॉन्फ़िगरेशन पर नियंत्रण बनाता है -> सामग्री संलेखन -> अक्षम अक्षम करें जो आपके सभी सामग्री प्रकारों की एक चयनित सूची देता है। पूरी तरह से प्रचार विकल्प को हटाने के लिए सूची में Ctrl / बहु-चयन आइटम।


0
function HOOK_form_node_form_alter(&$form, FormStateInterface $form_state) {
  if (isset($form['promote'])) {
    unset($form['promote']);
  }

  if (isset($form['sticky'])) {
    unset($form['sticky']);
  }
}

यह केवल ऊपर की जरूरत है


-1

मुझे संदेह है कि आप एक hook_node_presave को लागू कर सकते हैं और उन्हें 0 पर सेट कर सकते हैं। इसे सेट करने के लिए किसी भी संभावित तरीके को ओवरराइड करना चाहिए।

आप hook_form_alterउस व्यवस्थापक पृष्ठ पर उपयोग किए गए फ़ॉर्म को भी आज़मा सकते हैं और उन विकल्पों को हटा सकते हैं।

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