Supprimer l'observateur d'une extension tierce


11

J'ai installé un module de blog sur ma plateforme Magento 2. Ce module de blog dispose d'un observateur qui ajoute automatiquement un nouvel élément de menu dans la navigation principale. Je veux arrêter ça.

Le events.xmlfichier ressemble à ceci:

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

Comme vous pouvez le voir, il fait référence à l'observateur qui ajoute le lien dans la navigation principale. La suppression events.xmlrésout mon problème, mais je cherche une méthode qui n'implique pas la modification des fichiers du module principal.

Réponses:


14

Vous pouvez toujours désactiver les observateurs. Dans Magento 1, c'était fait avec <type>disabled</type>, dans Magento 2 c'est 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>

Si vous ajoutez ce events.xmlfichier modifié à un module personnalisé et que le module personnalisé dépend d'Aheadworks_Blog, il doit remplacer le fichier d'origine.


3
Je suis curieux de savoir si le processus de fusion d'observateurs utilise uniquement l' nameattribut (voir à quel point il est unique). Dans ce cas, vous pouvez omettre le peu de temps la instancepropriété: <observer name="aw_blog_add_topmenu_items" disabled="true".
nevvermind
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.