Inhalte aufrufen

Profilbild
- - - - -

offcanvas-cart toggeln


Best Answer daniel@streetec , 27 April 2023 - 09:44

Perfekt, danke!

 

Des Rätsels Lösung ist einfach folgender JS code:

var msg = { type: "cart", action: "add"};
EventBroker.publish("ajaxcart.item.added", msg);
Go to the full post


  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
2 Antworten zu diesem Thema

#1 daniel@streetec

daniel@streetec

    Member

  • Members
  • PunktPunkt
  • 12 Beiträge

Geschrieben: 26 April 2023 - 14:38

Hi,

ich schreibe gerade ein Produktkonfigurator-Plugin. Ich bin auch schon recht weit, man kann alles so weit auswählen und zum Warenkorb hinzufügen.

Das hinzufügen zum Warenkorb erledige ich in meinem Controller über den IShoppingCartService. Jetzt hätte ich noch gerne, dass im UI anschließend die Anzahl der Produkte im Warenkorb aktualisiert, sowie der offcanvas Shopping-Cart angezeigt und aktualisiert wird. Irgendwie komme ich da aber nicht voran. Ihn anzuzeigen ist ja kein Program in JS mit .show(), allerdings werden die Produte darin dann ja nicht aktualisiert.

 

Kann mich jemand in die richtige Richtung schupsen?

 

Angehängte Datei  Configurator_1.png   76.56K   0 Anzahl Downloads

Angehängte Datei  Configurator_2.png   224.14K   0 Anzahl Downloads

Angehängte Datei  Configurator_3.png   147.71K   0 Anzahl Downloads

Danke und Gruß

 

 



#2 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3801 Beiträge

Geschrieben: 27 April 2023 - 09:00

Das JavaScript\jQuery befindet sich in \wwwroot\js\public.offcanvas-cart.js. Dort sieht man, dass die Aktualisierung der Sidebar über Events gesteuert wird, in dem Fall über "ajaxcart.item.added". Dafür gibt es in der selben Datei einen "EventBroker.subscribe", der u.a. über ShopBar.loadHtml und ShoppingCartController.OffCanvasShoppingCart den Inhalt aktualisiert.
 
Wenn ich da nichts übersehe, müsste man also einfach nur dieses Event über "EventBroker.publish" veröffentlichen, so wie es in Zeile 118 public.offcanvas-cart.js geschieht, damit der Subscriber darauf reagieren kann.

Marcus Gesing

Smartstore AG


#3 daniel@streetec

daniel@streetec

    Member

  • Members
  • PunktPunkt
  • 12 Beiträge

Geschrieben: 27 April 2023 - 09:44   Best Answer

Perfekt, danke!

 

Des Rätsels Lösung ist einfach folgender JS code:

var msg = { type: "cart", action: "add"};
EventBroker.publish("ajaxcart.item.added", msg);

  • stefanmueller gefällt das