थर्ड पार्टी एक्सटेंशन से ऑब्जर्वर निकालें


11

मैंने अपने Magento 2 प्लेटफॉर्म पर एक ब्लॉग मॉड्यूल स्थापित किया है। इस ब्लॉग मॉड्यूल में एक पर्यवेक्षक है जो स्वचालित रूप से प्राथमिक नेविगेशन में एक नया मेनू आइटम जोड़ता है। मैं इसे रोकना चाहता हूं।

events.xmlफ़ाइल इस तरह दिखता है:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="page_block_html_topmenu_gethtml_before">
        <observer name="aw_blog_add_topmenu_items" instance="Aheadworks\Blog\Observer\AddBlogToTopmenuItemsObserver" />
    </event>
</config>

जैसा कि आप देख सकते हैं कि यह पर्यवेक्षक का संदर्भ देता है जो लिंक को प्राथमिक नेविगेशन में जोड़ता है। हटाया जा रहा है events.xmlहल करती है मेरी समस्या है, लेकिन मैं एक विधि है कि कोर मॉड्यूल फ़ाइलों के संशोधित शामिल नहीं करता है के लिए देख रहा हूँ।

जवाबों:


14

आप अभी भी पर्यवेक्षकों को अक्षम कर सकते हैं। Magento 1 में इसके साथ किया गया था <type>disabled</type>, Magento 2 में यह है disabled="true":

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="page_block_html_topmenu_gethtml_before">
        <observer name="aw_blog_add_topmenu_items"
                  instance="Aheadworks\Blog\Observer\AddBlogToTopmenuItemsObserver"
                  disabled="true" />
    </event>
</config>

यदि आप इस संशोधित events.xmlफ़ाइल को एक कस्टम मॉड्यूल में जोड़ते हैं और कस्टम मॉड्यूल को Aheadworks_Blog पर निर्भर करते हैं, तो यह मूल को ओवरराइड करना चाहिए।


3
मैं उत्सुक हूँ अगर पर्यवेक्षक विलय प्रक्रिया केवल nameविशेषता का उपयोग करता है (यह अद्वितीय है कि कैसे देखें)। किस मामले में, आप कुछ लंबी instanceसंपत्ति को छोड़ सकते हैं <observer name="aw_blog_add_topmenu_items" disabled="true":।
नेवरमाइंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.