Neu Artikel mit addToBasket-Function in den Warenkorb legen funktioniert nur bei Artikeln die keinen VaterArtikel haben

MaxWidth

Aktives Mitglied
15. Dezember 2021
13
3
$.evo.basket() funktioniert einwandfrei aber nur wenn der Artikel kein Vaterartikel hat - wenn Vaterartikel, dann gibt die Funktion einen syntax-error zurück und der Artikel wird nicht in den Warenkorb gelegt (SyntaxError: Unexpected token < in JSON). Kann mir hier bitte jemand sagen ob und wie es möglich ist, auch Artikel via Ajax in den Warenkorb zu legen die einen Vaterartikel haben? Vielen Dank für die Hilfe.

Code:
{form class="x_test_{$Artikel->kArtikel}" action=$Artikel->cURLFull class="jtl-validate x_article_cnt"}
    <input type="hidden" name="anzahl" value="1">
    {input type="hidden" name="a" value="{$Artikel->kArtikel}"}
    {button class="x_btn_test" name="inWarenkorb" type="submit" value="{lang key='addToCart'}" variant="primary"}{lang key='addToCart'}{/button}
{/form}

<script>
    var $btn = $(".x_btn_test");
    var basket = $.evo.basket();
    $btn.one("click", function (event) {
        var $form = $(event.target).closest('form');
        var data = $form.serializeObject();
        basket.addToBasket($form, data);
        event.preventDefault();
    });
</script>

wenn ich die Vater-Artikel-ID nehme wenn es eine gibt dann geht es aber dann nimmt er natürlich nicht das richtige Kind/Variation:
Code:
{input type="hidden" name="a" value="{if !empty({$Artikel->kVaterArtikel})}{$Artikel->kVaterArtikel}{else}{$Artikel->kArtikel}{/if}"}
 

DrGreen

Gut bekanntes Mitglied
24. Dezember 2017
183
23
Das Problem liegt daran, dass du die Information über die gewünschte Variation nicht angibst. JTL erkennt an der Stelle zwar, dass es sich um einen Kindartikel handelt aber braucht zusätzlich die Info welche Variantion(en) du in den Warenkorb legen möchtest.
 

Ähnliche Themen