Hallo zusammen,
für die vollständige Integration einer externen Produktselektor Lösung bin ich auf der Suche nach einer Möglichkeit den Add To Cart in Shopware 5 über diese Lösung per JavaScript Code zu triggern.
Die Möglichkeit über Einbindung des Forms ist bekannt. Die Frage ist, ob es auch eine Möglichkeit über ein JavaScript gibt, bei der man mithilfe einer oder mehrerer Artikelnummern das Add To Cart Event extern getriggert bekommen.
Lieben Dank!
function addArticle(){
let formData = new FormData();
formData.append("sAdd","MEINEORDERNUMBER");
formData.append("isXHR",1);
formData.append("__csrf_token","ABCDEFGHIJKLMNOP")
fetch("/checkout/ajaxAddArticleCart",{
method: "POST",
body: formData;
})
.then(...machwasmitergebnis...)
}
Ich muss meine eigene Antwort in Frage stellen.
Bei einem Shop mit 5.6.7 (Standalone Shop) funktioniert mein oben beschriebene Technik.
Bei einem Shop mit 5.7.7 (mit Subshops) funktioniert es nicht. Error 500 mit PHP 8 und Error 400 mit PHP 7.4 ??
Frage wäre hier, ob es ggf mit dem csrf token zu tun hat? Einmal geht der ja im Body mit als „__csrf_token“ und einmal als Cookie mit „__csrf_token-4“ (subshopID = 4)
Es gibt leider kein Error-Log, aber ggf hat jemand so eine konstellation bei sich?
EDIT: In s_order_basket wird der Artikel abgelegt, jedoch kommt Error 500 vom Frontend und ajax_cart.tpl wird nicht ausgespielt.
Problem gefunden in meiner angepassten ajax_cart.tpl
Die Werte aus $sBasket.content as $sBasketItem
- $sBasketItem.additional_details.pseudoprice_numeric
- $sBasketItem.image.src.0
existieren scheinbar nicht mehr in 5.7.7
Wurde das gestrichen