Horus Sirius
Gut bekanntes Mitglied
Hallo,
ich möchte einen beliebigen Artikel in den JTL Shop4 Warenkorb packen.
Meine Lösung bis jetzt sieht so aus:
----------- SNIPP HTML FORM ----------
----- SNIP END OF FORM -----------
------ Beginn of JS somewhere loaded -------
-------- END OF JS ------------
>> PROBLEM bei dieser Lösung, das die erste Warenkorbposition nicht mehrfach hinzugefügt werden kann.
Ansonsten, funktioniert alles korrekt für die weiteren JTL Shop Artikel mit dem Mehrfachhinzufügen.
ich möchte einen beliebigen Artikel in den JTL Shop4 Warenkorb packen.
Meine Lösung bis jetzt sieht so aus:
----------- SNIPP HTML FORM ----------
HTML:
<form id="buy_form" onsubmit="return setWarenkorb_product();return false;" action="navi.php" class="buy_form buy_form form form-basket evo-validate" method="post" data-toggle="basket-add">
<input type="hidden" class="jtl_token" name="jtl_token" value="ECHTER-USER_JTL-TOKEN">
<input type="submit" name="inWarenkorb" value="1" class="hidden">
<input type="hidden" name="show" value="1">
<input type="hidden" name="wke" value="1">
<input type="hidden" name="kKundengruppe" value="1">
<input type="hidden" name="kSprache" value="1">
<input type="hidden" name="a" value="5355">
<input type="hidden" name="overview" value="1">
<input type="hidden" name="Sortierung" value="">
<input type="hidden" name="k" value="1">
<input type="hidden" name="anzahl" value="1">
<div class="quantity-wrapper form-group top7">
<div class="input-group input-group-sm">
<input type="hidden" min="0" size="2" id="quantity5355" class="quantity form-control text-right" name="anzahl" autocomplete="off" value="1" data-cip-id="quantity5355">
<button class="btn btn-default" style="background-color: rgba(144, 184, 6, 0.74);color:#FFF" id="submit2" title="In den Warenkorb">
<span class="fa fa-shopping-cart"></span>
<span class="hidden-md">In den Warenkorb</span>
</button>
</div>
</div>
</form>
----- SNIP END OF FORM -----------
------ Beginn of JS somewhere loaded -------
JavaScript:
/*
WARENKORB ABSCHICKEN an User-Script
*/
function setWarenkorb_product() {
$("#submit2").attr("disabled", true);
$("#submit2").html('Wird bearbeitet...');
var datastring = $("#buy_form").serialize();
$.ajax({
type:'POST',
data:datastring,
url:'/',
success:function(data) {
$("#submit2").attr("disabled", false);
//alert("Der Artikel befindet sich jetzt im Warenkorb.");
$.ajax({
type:'POST',
data:datastring,
url:'/warenkorb.php',
success:function(data) {
// Warenkorb Anzahl erhöhen
var val = $(".badge em").html();
if(typeof val === "undefined") {
//alert(val);
$(".cart-menu").html('<a href="/warenkorb.php" class="dropdown-toggle" data-toggle="dropdown" title="Warenkorb"><span class="fa fa-shopping-cart"></span><sup class="badge"><em>1</em></sup><span class="shopping-cart-label hidden-sm"> 0,00 €</span> <span class="caret"></span></a>');
// Warenkorb Endsumme erhöhen
var val_preis = $(".shopping-cart-label").html();
val_preis = val_preis.replace(' €','');
var val = $("#jbm_preis").html();
val = parseFloat(val.replace(",",".")) + parseFloat(val_preis.replace(",","."));
$(".shopping-cart-label").html(val.toFixed(2) + ' €');
var warenkorb_beginn = data.indexOf('<table');
var warenkorb_end = data.indexOf('</table');
var länge = warenkorb_end - warenkorb_beginn;
data = data.substr(warenkorb_beginn,länge);
//alert(data);
$('<ul class="cart-dropdown dropdown-menu dropdown-menu-right"><li>' + data + '</li></ul>').insertAfter( "li.cart-menu a" );
$('<div class="btn-group btn-group-justified btn-group-full"><a href="/warenkorb.php" class="btn btn-primary" title="Zum Warenkorb"><i class="fa fa-shopping-cart"></i> Zum Warenkorb</a></div>').insertAfter( ".dropdown-cart-items" );
} else {
// Warenkorb Anzahl erhöhen
val = parseInt(val) + 1;
$(".badge em").html(val);
// Warenkorb Endsumme erhöhen
var val_preis = $(".shopping-cart-label").html();
val_preis = val_preis.replace(' €','');
var val = $("#jbm_preis").html();
val = parseFloat(val.replace(",",".")) + parseFloat(val_preis.replace(",","."));
$(".shopping-cart-label").html(val.toFixed(2) + ' €');
$("td.total").html('<strong>' + val.toFixed(2) + ' €' + '<strong>');
var warenkorb_beginn = data.indexOf('<table');
var warenkorb_end = data.indexOf('</table');
var länge = warenkorb_end - warenkorb_beginn;
data = data.substr(warenkorb_beginn,länge);
$(".dropdown-cart-items").html(data);
}
/* Kein Matomo Fallback */
try {
_paq.push(['trackEvent', 'maiwell Hand Design Switcher', 'In Warenkorb']);
} catch(ex) {
console.log(ex);
}
try {
tracker = ga.create('UA-24162665-1', 'maiwell.com');
tracker.send( 'event', 'Plugin Colorswatch', 'click', 'In Warenkorb');
} catch(ex) {
console.log(ex);
}
$("#submit2").html('<span class="fa fa-shopping-cart"></span><span class="hidden-md"> In den Warenkorb</span>');
return false;
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
return false;
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
return false;
}
-------- END OF JS ------------
>> PROBLEM bei dieser Lösung, das die erste Warenkorbposition nicht mehrfach hinzugefügt werden kann.
Ansonsten, funktioniert alles korrekt für die weiteren JTL Shop Artikel mit dem Mehrfachhinzufügen.
Zuletzt bearbeitet: