Hapus pengamat dari ekstensi pihak ketiga

11

Saya telah menginstal modul blog ke platform Magento 2 saya. Modul blog ini memiliki pengamat yang secara otomatis menambahkan item menu baru ke navigasi utama. Saya ingin menghentikan ini.

The events.xmlfile terlihat seperti ini:

<?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>

Seperti yang Anda lihat, referensi pengamat yang menambahkan tautan ke navigasi utama. Menghapus events.xmlmemecahkan masalah saya, tetapi saya sedang mencari metode yang tidak melibatkan modifikasi file modul inti.

Angus
sumber

Jawaban:

14

Anda masih dapat menonaktifkan pengamat. Di Magento 1 selesai dengan <type>disabled</type>, di Magento 2 itu 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>

Jika Anda menambahkan events.xmlfile yang dimodifikasi ini ke modul khusus dan membuat modul khusus bergantung pada Aheadworks_Blog, itu harus menggantikan yang asli.

Fabian Schmengler
sumber
3
Saya ingin tahu apakah proses penggabungan pengamat hanya menggunakan nameatribut (melihat bagaimana itu unik). Dalam hal ini, Anda bisa menghilangkan agak panjang instanceproperti: <observer name="aw_blog_add_topmenu_items" disabled="true".
nevvermind