ลบผู้สังเกตการณ์ออกจากส่วนขยายของบุคคลที่สาม


11

ฉันได้ติดตั้งโมดูลบล็อกบนแพลตฟอร์ม Magento 2 ของฉันแล้ว โมดูลบล็อกนี้มีผู้สังเกตการณ์ซึ่งจะเพิ่มรายการเมนูใหม่ลงในการนำทางหลักโดยอัตโนมัติ ฉันต้องการหยุดสิ่งนี้

events.xmlไฟล์มีลักษณะเช่นนี้

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

ในขณะที่คุณสามารถเห็นมันอ้างอิงผู้สังเกตการณ์ที่เพิ่มลิงค์ในการนำทางหลัก การลบevents.xmlแก้ปัญหาของฉัน แต่ฉันกำลังมองหาวิธีที่ไม่เกี่ยวข้องกับการแก้ไขไฟล์โมดูลหลัก

คำตอบ:


14

คุณยังสามารถปิดการใช้งานผู้สังเกตการณ์ ในวีโอไอพี 1 มันทำกับ<type>disabled</type>ในวีโอไอพี 2 มันเป็น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>

หากคุณเพิ่มevents.xmlไฟล์ที่แก้ไขแล้วนี้ไปยังโมดูลที่กำหนดเองและทำให้โมดูลที่กำหนดเองนั้นขึ้นอยู่กับ Aheadworks_Blog มันควรจะแทนที่ไฟล์ต้นฉบับ


3
ฉันอยากรู้ว่ากระบวนการรวมตัวของผู้สังเกตการณ์จะใช้nameคุณลักษณะเฉพาะหรือไม่ (ดูว่ามันมีลักษณะเฉพาะ) ซึ่งในกรณีนี้คุณสามารถละเว้นค่อนข้างยาวคุณสมบัติ:instance <observer name="aw_blog_add_topmenu_items" disabled="true"
nevvermind
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.