Hallo :shopware: - Community, aktuell versuche ich das OffCanvas Menü aus meinem eigenen jQuery Plugin zu schließen. Ich dachte mir, ich frage im StateManager ab, ob ich mich im XS oder S Bereich befinde und simuliere dann einfach einen Click oder auch Trigger-Click auf den “Menü schließen” Button. if(StateManager.getCurrentState() == 'xs') { console.log("close now"); $("div.tab--content.off-canvas.is--active.is--open div.buttons--off-canvas a.close--off-canvas").click(); }
Der Log-Eintrag in der Console wird erstellt, aber das OffCanvas Menü bleibt weiterhin geöffnet. Wenn ich den Befehl über FireBug absetze, wird das Menü auch geschlossen, nur aus meinem Plugin nicht… Habe auch probiert über den Statemanager an swOffcanvasMenu zu gelangen um dann die Funktion closeMenu() aufzurufen, aber auch da kam ich zu keinem Ergebnis. Das vergeben der CSS-Klasse “entry–close-off-canvas” hat mich auch nicht weitergebracht, daher nun meinte bitte um Unterstützung durch euch. Danke, Gruß und guten Rutsch, mrtee
Hey @mrtee, guter Ansatz aber es geht einfacher als du denkst. Wir verwenden binden jedes Plugin „in memory“ an das DOM-Element, so dass du per ('.selector').data('plugin\_pluginName') drauf zugreifen kannst. So kommst du immer an die Instanz des Plugins ran und musst nicht probieren per Event eine Aktion auszulösen. Ich habe deinen Code einmal so modifiziert, dass es funktionieren sollte: [code] var offcanvasPlugin = (‚a[data-offcanvas=„true“]‘).data(‚plugin_swOffcanvasMenu‘); if(StateManager.getCurrentState() == ‚xs‘ && offcanvasPlugin.isOpened) { offcanvasPlugin.closeMenu(); } [/code] Weitere Informationen zur Plugin-Basis findest du in unseren Developer Docs: https://developers.shopware.com/designe … luginbase/ Viele Grüße, Stephan Pohl :shopware:
Hallo, @Stephan: Klasse - vielen Dank, das hat mir weitergeholfen :thumbup: Besten Gruß, mrtee
hi, ich habe ein ähnliches Problem. Ich möchte das offCanvasMenu schließen und nach gleich ein anders öffnen.
ich habe in den Tabs auf der Detailseite ein art konfigurator bei dem ich per klcik auf einen Button von einem Tab in den nächsten springe. Das klappt auf Desktop auch soweit. Hier kann ich ja den jeweiligen Tab anspringen.
Mobile geht das leider nicht. Hier habe ich jetzt versucht dem button einfach die entsprechnden data-attribute zugeben. klappt leider nicht
Weiter
Wie schaffe ich das Tabmenü quasi fernzusteuern?
Vielen Dank
Ich würde das hier auch wieder aktivieren, ich komme auch nicht weiter, nach sehr sehr vielen Versuchen …
Ich möchte einfach nur das gerade aktive Offcanvas Tab schließen - mehr nicht.
Laut Ausgabe “passiert” was, das DOM zuckt nur, und schließen tut sich gar nichts.
Ich schätze, dass ich nie die richtige Referenz zum Objekt packen kann …
Mein Beitrag unter https://forum.shopware.com/discussion/57789/offcanvas-ueber-plugin-swoffcanvasmenu-schliessen-geht-nicht hat bisher nichts ergeben …
Schöne Grüße!
Niklas