Artikel per Ajax in Warenkorb legen / Artikel Detailseite (data-toggle="basket-add")

snador

Aktives Mitglied
1. Dezember 2015
4
0
Hallo,

wir setzen den JTL Shop 4 samts überarbeitetem Standard Bootstrap Template ein und sind bisher sehr zufrieden. Nun ist folgende Frage aufgetaucht. Gibt es eine Möglichkeit auch auf der Artikel-Detailseite die Artikel per Ajax in den Warenkorb zu legen und Messages / Bestätigungen per Modal auszugebe, so wie im Artikel-Listing?

Die Zugabe des Attributs data-toggle="basket-add" auf das Formular (sowie wie im Artikelisting) lößt zwar den Prozess aus, allerdings werden in dieser Routine Artikel mit auswählbaren Variantionen ignoriert und es kommt ein entsprechender Hinweis, dass keine Variantion ausgewählt ist...

Gibt es dazu schon eine Lösung?

Ich frage mich warum man die Ajax-Routine nicht konsequent in den Shop einbaut wenn sie denn nun schon vorhanden ist. Dann würde ich mir den nervigen Page-Reload nur für das Message-Fenster auf der Detailseite sparen.

Hat jemand eine Idee dazu? Vielen Dank!
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.716
355
AW: Artikel per Ajax in Warenkorb legen / Artikel Detailseite (data-toggle="basket-ad

Die Zugabe des Attributs data-toggle="basket-add" auf das Formular (sowie wie im Artikelisting) lößt zwar den Prozess aus, allerdings werden in dieser Routine Artikel mit auswählbaren Variantionen ignoriert und es kommt ein entsprechender Hinweis, dass keine Variantion ausgewählt ist...

Das ist auch richtig so. Was soll denn alternativ passieren bzw. welche Variation sollte denn in den Warenkorb gelegt werden?
 

snador

Aktives Mitglied
1. Dezember 2015
4
0
AW: Artikel per Ajax in Warenkorb legen / Artikel Detailseite (data-toggle="basket-ad

Naja... Sagen wir mal so: Wenn keine Variantion ausgewählt ist, dann ist der Warenkorbbutton ja eh nicht sichtbar und es kommt ein Hinweis doch bitte eine Variantion auszuwählen. Hab ich dies getan, dann erscheint der Warenkorb Button. Wenn ich jetzt klicke könnte das Script ja den korrekten Artikel in seiner Variation in den Warenkorb legen. Dazu müsste das Evo Basket Script nur dahingehend modifiziert werden, die ausgewählte Variantion zu berücksichtigen (falls existent)...

Für mein Dafürhalten durchaus logisch oder? Ich hatte gehofft, dass dies ggf. schon existiert 🙂
 

x86

Gut bekanntes Mitglied
20. Januar 2014
179
5
localhost
AW: Artikel per Ajax in Warenkorb legen / Artikel Detailseite (data-toggle="basket-ad

an der basket.js, also praktisch an einer core Datei die bei jeder furz-Aktualisierung überschrieben wird Änderungen durchzuführen, macht deinen Kunden und dich nicht glücklich. Warum nicht einfach auf eine Interaktion per jQuery und XHR eine php Datei mit entsprechender .htacccess aufrufen, globalinclude einbinden (welche auch die Session öffnet) und die Warenkorbklasse nutzen (gibt 2 Methoden die du nutzen kannst), um den Artikel mit Variationskombination in den Warenkorb legen. JSON Response bauen, im ajax.success abfangen und entweder dort ein Bootstrap Modal bauen oder noch besser, in der ajax.php smartyInclude laden, eine eigene modal.tpl fetchen und mit Inhalten befüllen, danach an den Body hängen und initialisieren.

Grüsse Stephan
 

snador

Aktives Mitglied
1. Dezember 2015
4
0
AW: Artikel per Ajax in Warenkorb legen / Artikel Detailseite (data-toggle="basket-ad

Wir habe es jetzt so gelöst:

Wir haben die Originale Basket-Funktion dupliziert und auf einen neuen data-toggle für die Detailseite gesetzt. In der duplizierten Funktion fragen wir ab ob es einen Variations-Artikel gibt und übergeben Statt der Product-Id die Variations-ID.

// Find active Article Variation an overwrite Artikel ID with Variation ID
theVariation = $('.product-offer input[name="VariKindArtikel"]').val();
if(theVariation != '' && theVariation > 0){
productId = parseInt(theVariation);
}

Jetzt funzt es sauber und die Core Funtionalität wird nicht angetastet.

Sollte sich die Funtkion einmal ändern, übernehmen wir diese einfach wieder...

Soweit.

LG und Danke!
 

razzio

Gut bekanntes Mitglied
4. Dezember 2012
125
14
Dresden
Alter Thread aber aktuelles Problem bei uns. 🙂 Die obige "Lösung" funktioniert so lange wie keine Freitextfelder etc. übergeben werden müssen. 🙂
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Variationen mit Freitextfeldern sowie Konfiguratorartikel können aktuell nicht per Ajax in den Warenkorb gelegt werden. Das wird vom Core nicht unterstützt.
 

razzio

Gut bekanntes Mitglied
4. Dezember 2012
125
14
Dresden
Steht das denn schon im Issue-Tracker? Ich hab nichts gefunden.
Ich hoffe, wir müssen nicht ewig mit diesem Kasten leben der beim Absenden über dem Produkt eingefügt wird. Wir hätten gern ein Modal-Fenster ohne die Seite neu zu laden.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Ich hoffe, wir müssen nicht ewig mit diesem Kasten leben der beim Absenden über dem Produkt eingefügt wird. Wir hätten gern ein Modal-Fenster ohne die Seite neu zu laden.
Was meinst du damit? Ab Version 4.06 kann man für die Gallerie- und Listenansicht den "Quickview für Artikeldetails" aktivieren. Damit lassen sich auch Variationen mit Freitextfeldern in einem modalen Popup in den Warenkorb legen ohne die Seite neu zu laden. Nur Konfiguratorartikel erforden das Laden der kompletten Detailseite. Meine vorhergehende Aussage bezog sich für den Aufruf direkt aus der Listen- bzw. Gallerieansicht. siehe z.B. hier https://demo.jtl-shop.de/Variationen den Artikel "Pflichtfreifeld-Variation".
 

Ähnliche Themen