Xóa người quan sát khỏi tiện ích mở rộng của bên thứ ba


11

Tôi đã cài đặt một mô-đun blog lên nền tảng Magento 2 của mình. Mô-đun blog này có một người quan sát tự động thêm một mục menu mới vào điều hướng chính. Tôi muốn ngăn chặn điều này.

Các events.xmltập tin trông như thế này:

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

Như bạn có thể thấy nó tham chiếu người quan sát thêm liên kết vào điều hướng chính. Xóa events.xmlgiải quyết vấn đề của tôi, nhưng tôi đang tìm kiếm một phương pháp không liên quan đến sửa đổi các tệp mô-đun lõi.

Câu trả lời:


14

Bạn vẫn có thể vô hiệu hóa người quan sát. Trong Magento 1, nó đã được thực hiện <type>disabled</type>, trong Magento 2, nó 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>

Nếu bạn thêm events.xmltệp đã sửa đổi này vào mô-đun tùy chỉnh và làm cho mô-đun tùy chỉnh phụ thuộc vào Aheadworks_Blog, thì nó sẽ ghi đè lên tệp gốc.


3
Tôi tò mò nếu quá trình hợp nhất người quan sát chỉ sử dụng namethuộc tính (xem nó độc đáo như thế nào). Trong trường hợp đó, bạn có thể bỏ qua thuộc tính hơi dài instance: <observer name="aw_blog_add_topmenu_items" disabled="true".
nevvermind
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.