Usuń obserwatora z rozszerzenia zewnętrznego


11

Zainstalowałem moduł blogu na mojej platformie Magento 2. Ten moduł blogu ma obserwatora, który automatycznie dodaje nowy element menu do głównej nawigacji. Chcę to zatrzymać.

events.xmlPlik wygląda tak:

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

Jak widać, odwołuje się do obserwatora, który dodaje link do podstawowej nawigacji. Usunięcie events.xmlrozwiązuje mój problem, ale szukam metody, która nie wymaga modyfikacji plików podstawowych modułów.

Odpowiedzi:


14

Nadal możesz wyłączyć obserwatorów. W Magento 1 zostało to zrobione <type>disabled</type>, w Magento 2 jest to 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>

Jeśli dodasz ten zmodyfikowany events.xmlplik do modułu niestandardowego i uzależnisz moduł niestandardowy od Aheadworks_Blog, powinien on zastąpić oryginalny.


3
Jestem ciekawy, czy proces łączenia obserwatora korzysta tylko z nameatrybutu (widząc, jak jest unikalny). W takim przypadku można pominąć nieco długi instancewłaściwość: <observer name="aw_blog_add_topmenu_items" disabled="true".
nevvermind 24.04.16
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.