अक्षम मॉड्यूल आउटपुट और मॉड्यूल सक्रिय = सत्य के बीच अंतर क्या है


16

मैगेंटो में मुझे पता चला है कि हम अपने मॉड्यूल को दो तरीकों से डिस्बैल कर सकते हैं

  1. Magento बैकएंड में सिस्टम> कॉन्फ़िगरेशन> उन्नत> उन्नत मॉड्यूल आउटपुट में नेविगेट करके हम कुछ मॉड्यूल को आसानी से अक्षम कर सकते हैं।
  2. निर्देशिका ऐप / etc / मॉड्यूल में, सक्रिय-टैग को सही से गलत में बदलकर।

क्या मुझे पता है कि इन दो कलाओं में सटीक अंतर क्या है? किसी को अधिक विस्तृत जवाब देने पर इसकी बहुत मदद मिलती है।


1
अच्छा सवाल ..
अमित बेरा

@AmitBera, धन्यवाद
चार्ली

जवाबों:


17
  1. System > Configuration > Advanced > Disableमॉड्यूल आउटपुट वास्तव में उस मॉड्यूल को अक्षम नहीं करेगा। यह नाम के सुझाव के अनुसार काम करता है, मॉड्यूल आउटपुट को अक्षम करता है।

    जब तुम देखो

    abstract class Mage_Core_Block_Abstract

    में

    final public function toHtml()
    {
        Mage::dispatchEvent('core_block_abstract_to_html_before', array('block' => $this));
        if (Mage::getStoreConfig('advanced/modules_disable_output/' . $this->getModuleName())) {
            return '';
        } 
    
    // It is checking If its in disabled mode then just return blank output
    .......
    }
  2. जबकि app/etc/modulesपूरी तरह से अक्षम मॉड्यूल


सही उत्तर ...
कार्तिक असोदरिया

3
  1. Magento बैकएंड में सिस्टम> कॉन्फ़िगरेशन> उन्नत> उन्नत मॉड्यूल आउटपुट में नेविगेट करके हम कुछ मॉड्यूल को आसानी से अक्षम कर सकते हैं।

    - इसका मतलब है कि मॉड्यूल रेंडर नहीं करेगा, स्क्रीन पर आउटपुट नहीं भेजता है लेकिन आपका मॉड्यूल निष्पादित होता है। एक नज़र एप्लिकेशन / कोड / कोर / दाना / कोर / ब्लॉक / Abstract.php -> tottml लें

    अगर (Mage :: getStoreConfig ('उन्नत / मॉड्यूल_डिजेबल_आउटपुट /'। $ यह-> getModuleName ())) {वापसी ''; }

  2. निर्देशिका ऐप / etc / मॉड्यूल में , सक्रिय-टैग को सही से गलत में बदलकर।

    ---- सच / गलत परिभाषित आपके मॉड्यूल लोड या छोड़ दिया जाएगा। जरा देखिए app/code/core/Mage/Core/Model/Config.php->loadModulesConfiguration

foreach ($ मॉड्यूल के रूप में $ modName => $ मॉड्यूल) {if ($ मॉड्यूल-> है ('सक्रिय')) {-------}}


2

जब आप बस Disable Modules Output, इसका मतलब है कि मॉड्यूल स्क्रीन पर कुछ भी प्रस्तुत नहीं करेगा, प्रोग्रामिंग शब्दों में: _toHtml()फ़ंक्शन कुछ भी नहीं लौटाएगा। बाकी सब कुछ (पर्यवेक्षक, पुनर्लेखन, नियंत्रक) अभी भी निष्पादित किया जाएगा।

आदर्श रूप से, यदि आप किसी मॉड्यूल को ठीक से अक्षम करना चाहते हैं, तो "सक्रिय" सेट करना है false, और सुनिश्चित करें कि कोई अन्य मॉड्यूल इसे विस्तारित नहीं कर रहा है।


2

Configuration > Current Configuration Scope > Advanced > Advanced > Disable Module Output.यह क्रिया केवल मॉड्यूल आउटपुट को अक्षम करती है जैसा कि वह कहता है। यदि आपका मॉड्यूल उपयोग करता है, तो सिस्टम के कुछ भाग में हुक करने के लिए कुछ ऑब्जर्वर कार्यक्षमता कहते हैं और कुछ ओवरराइडिंग करते हैं तो उन कार्यों को अक्षम नहीं किया जाएगा।

मॉड्यूल को पूरी तरह से अक्षम करने के लिए, आपको मॉड्यूल कॉन्फ़िगर फ़ाइल में जाना होगा, जैसे /etc/NAMESPACE_MyModule.xml, और इसे सेट करें सक्रिय पैरामर को गलत, जैसे:

< ?xml version="1.0"?>
<config>
<modules>
<NAMESPACE_mymodule>
<active>false</active>
<codepool>local</codepool>
</NAMESPACE_mymodule>
</modules>
</config>

यदि हम सक्रिय टैग को गलत में बदलते हैं, तो क्या यह लोड मॉड्यूल है? कैसे Magento इसे संभाल?
चार्ली

यह अभी भी मॉड्यूल को लोड करता है यह सिस्टम> कॉन्फ़िगरेशन> उन्नत में दिखाएगा। आदि / config.xml की तरह मॉड्यूल फ़ाइल लोड नहीं।
क़ैसर सत्ती

0

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


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