Gözlemciyi üçüncü taraf uzantısından kaldırın


11

Magento 2 platformuma bir blog modülü kurdum. Bu blog modülünde, birincil gezinmeye otomatik olarak yeni bir menü öğesi ekleyen bir gözlemci vardır. Bunu durdurmak istiyorum.

events.xmlDosya şuna benzer:

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

Gördüğünüz gibi, bağlantıyı birincil gezinmeye ekleyen gözlemciye başvuruyor. Silme events.xmlsorunumu çözdü, ancak çekirdek modül dosyalarının değiştirilmesini içermeyen bir yöntem arıyorum.

Yanıtlar:


14

Yine de gözlemcileri devre dışı bırakabilirsiniz. Magento 1 ile yapıldı <type>disabled</type>, Magento 2 ile 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>

Bu değiştirilmiş events.xmldosyayı özel bir modüle ekler ve özel modülü Aheadworks_Blog'a bağımlı yaparsanız, özgün olanı geçersiz kılmalıdır.


3
Gözlemci birleştirme işleminin yalnızca nameözniteliği kullanıp kullanmadığını merak ediyorum (benzersiz olduğunu görerek). Bu durumda, sen biraz uzun ihmal olabilir instanceözelliği: <observer name="aw_blog_add_topmenu_items" disabled="true".
nevvermind
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.