Entfernen Sie den Beobachter aus der Erweiterung eines Drittanbieters


11

Ich habe ein Blog-Modul auf meiner Magento 2-Plattform installiert. Dieses Blog-Modul verfügt über einen Beobachter, der der primären Navigation automatisch einen neuen Menüpunkt hinzufügt. Ich möchte damit aufhören.

Die events.xmlDatei sieht folgendermaßen aus:

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

Wie Sie sehen, verweist es auf den Beobachter, der den Link zur primären Navigation hinzufügt. Das Löschen events.xmllöst mein Problem, aber ich suche nach einer Methode, bei der die Kernmoduldateien nicht geändert werden.

Antworten:


14

Sie können Beobachter weiterhin deaktivieren. In Magento 1 wurde es gemacht <type>disabled</type>, in Magento 2 ist es 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>

Wenn Sie diese geänderte events.xmlDatei einem benutzerdefinierten Modul hinzufügen und das benutzerdefinierte Modul von Aheadworks_Blog abhängig machen, sollte es die ursprüngliche überschreiben.


3
Ich bin gespannt, ob der Beobachter-Zusammenführungsprozess nur das nameAttribut verwendet (um zu sehen, wie einzigartig es ist). In diesem Fall können Sie die etwas lange instanceEigenschaft weglassen : <observer name="aw_blog_add_topmenu_items" disabled="true".
Nevvermind
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.