Im eigenen Plugin Events anderer Plugins empfangen

Hallo Shopware-Freunde,

in meinem Plugin möchte ich gerne das Event onClickOffCanvasTab empfangen, das hier zu finden ist:

/shopware-6/vendor/shopware/storefront/Resources/app/storefront/src/plugin/offcanvas-tabs/offcanvas-tabs.plugin.js

Ich vermute, dass dieses Event in der mobilen Ansicht geworfen wird, wenn der Benutzer auf eines der Tabs klickt. Ist das soweit korrekt? 

Wie komme ich in meinem Plugin an dieses Event? Ich habe es in der init()-Funktion meines Plugins mit

this.$emitter.subscribe('onClickOffCanvasTab', func);

und mit

document.$emitter.subscribe('onClickOffCanvasTab', func)

versucht.

Ist es überhaupt möglich, plugin-fremde Events zu empfangen oder muss ich noch etwas Anderes beachten?

 

Vielen Dank für Eure Unterstützung. :slight_smile:

Ich habe die Lösung doch noch gefunden. Es funktioniert direkt am Element, welches das data-offcanvas-tabs="true"-Attribut trägt.

Wenn es also nur um ein spezielles Tab geht: 

        const t = document.querySelector('#some-tab')
        t.$emitter.subscribe('onClickOffCanvasTab', () => {
            console.log('menu onClickOffCanvasTab')
        })

 

1 Like