Warenkorb: Offcanvas & Modal deaktivieren?

Hallo

ich will weder den Offcanvas-Warenkorb noch den Modal-Overlay-Warenkorb.

Beim Klick auf das Warenkorb-Icon oben rechts soll einfach zum Warenkorb weitergeleitet werden.

Offcanvas habe ich in der Theme-Config aktiviert (wenn man es deaktiviert erscheint beim Mouseover ein Popup).

Auslöser für das Öffnen des Offcanvas-Warenkorb ist wohl die Klasse " navigation–entry.entry–cart", denn wenn ich die wegnehme stimmt auch die Weiterleitung statt Offcanvas. Allerdings fehlt dann das CSS-Styling für diesen Selektor logischerweise …

die einzige Codestelle wo dieser Selektor in JS verwendet wird ist diese im jquery.collapse-cart.js :

'triggerElSelector': '.navigation--entry.entry--cart',

 

hab es schon mit diversen Snippets versucht bin aber nicht erfolgreich gewesen.

StateManager.removePlugin('*[data-collapse-cart="true"]', "swCollapseCart")

$.unsubscribe("plugin/swCollapseCart")

StateManager.destroyPlugin('swCollapseCart');

wie kann ich das blöde Ding abschalten?

push

weiß denn keiner Rat?

Hallo,

 

ich meine das neulich auch erst woanders geantwortet zu haben auf eine ähnliche Frage. Wie auch immer, du musst einfach in der jquery.shopware-responsive.js Datei den jQuery Selektor für das Plugin entfernen. Die Datei findest du entweder im Responsive Theme, oder in deinem Theme, falls du dich vom Bare Theme ableitest und alles in dienes rüber kopiert hast.

Das ganze geht auch umgekehrt: Entferne das data Attribut für den Offcanvas Warenkorb im HTML und es sollte funktionieren.

 

 

 

MFG

 

derwunner

@derwunner‍

“data-attribut entfernen” klingt erstmal am Besten. Leider hat das li-Element das den Selektor hat überhaupt kein Data-Attribut…

                {$sBasketAmount|currency} 

“du musst einfach in der jquery.shopware-responsive.js Datei den jQuery Selektor für das Plugin entfernen.” 

–> das ist doch keine vernünftige Option oder? Ich will doch nicht das ganze Plugin “sprengen” …

@FloC3 schrieb:

–> das ist doch keine vernünftige Option oder? Ich will doch nicht das ganze Plugin „sprengen“ …

Ich dachte genau das willst du? Das Plugin kommt nur beim Warenkorb Icon im Header und bei der „in den Warenkorb legen“ Atkion zum Einsatz. Da du beides nicht willst, kann es raus. Die Aktion in den Warenkorb legen ist post Formular, das abgesendet wird, also geht auch blendend ohne Plugin darüber.

@derwunner‍

ich hätte das gerne nur auf bestimmten Seiten deaktiviert, auf anderen wiederum soll der Offcanvas-Warenkorb angezeigt werden … deshalb ja mein Ansatz ganz oben, die Funktion mittels unsubscribe ö. ä. einfach wieder wegzunehmen …

Na dann verfeinere den Selektor oder ändere das data Attribut auf dein eigenes ab und lege den Selektor darauf. Verfeinern müsste aber in deinem Fall reichen, weil du bei jedem Shopware Controller im body Element andere Klassen hast, z. b. is–ctl-index.

probier mal

;(function ($, window) {
    
    StateManager.removePlugin('*[data-collapse-cart="true"]', "swCollapseCart");
    
})(jQuery, window);

bei mir hat das so funktioniert

@vierpunkt‍

das bringt bei mir leider gar keinen Effekt. Ich habe es zur Laufzeit in der Console ausgeführt, sollte ja den selben Effekt haben wie ein document-ready …

Der Warenkorb rechts an der Seite öffnet sich beim Klick trotzdem. (ist für mich auch nicht verwunderlich, denn das Trigger-Element das den Warenkorb öffnet, hat überhaupt nicht das data-collapse-cart-Attribut.)

wenn ich die JS-Datei durchsuche, finde ich auch kein einziges Mal eine Erwähnung von “collapse-cart” als Selektor.

FloC3, hast Du eine Lösung gefunden? Ich stehe vor dem gleichen Problem.