ciao!
sto cercando di integrare il template con simplecart js.
in fase di caricamento pagina controllo se il carrello è pieno, ed in caso inietto questo nella pagina:
codice:
simpleCart.ready(function () {
if (simpleCart.quantity() <= 0) {
$('.simpleCart_items').hide();
} else {
$('#span_carrello').html(simpleCart.quantity());
$('#tuo_carrello').html("<?php echo $CARRELLO; ?> (" + simpleCart.quantity() + " <?php echo $ITEMS;?>)");
var mc = '';
var cntRow = 0;
var sci = 1;
simpleCart.each(function (item) {
let cartId = item.get('art');
let cartCodice = item.get('codice');
let cartImg = item.get('thumb').trim();
let cartName = item.get('name').trim();
let cartColor = item.get('color').trim();
let cartQta = item.get('quantity');
let cartPrice = item.get('price');
let cartUrl = item.get('url');
let cartSize = item.get('size');
let cartLordo = item.get('lordo');
let cartSconto = item.get('sconto');
mc += '<li id="cartItem_SCI-' + sci + '" class="item clearfix itemRow row-' + cntRow + '">';
// IMG COL
mc += '<a class="product-image" href="' + cartUrl + '">';
mc += '<img class="item-image" src="' + cartImg + '" alt="' + cartName + '" title="' + cartName + '">';
mc += '</a>';
// END IMG COL
mc += '<div class="product-details">';
// DETAIL ROW
mc += '<div class="hide item-art">' + cartId + '</div>';
mc += '<div class="hide item-codice">' + cartCodice + '</div>';
mc += '<div class="hide item-lordo">' + cartLordo + '</div>';
mc += '<div class="hide item-sconto">' + cartSconto + '</div>';
mc += '<a href="javascript:;" class="remove simpleCart_remove"><i class="anm anm-times-sql" aria-hidden="true"></i></a>';
mc += '<a href="' + cartUrl + '" class="edit-i remove"><i class="icon icon-pencil" aria-hidden="true"></i></a>';
mc += '<a class="product-title item-name" href="' + cartUrl + '">' + cartName + '</a>';
mc += '<div class="variant-cart item-color">' + cartColor + '</div>';
mc += '<div class="variant-cart item-size">' + cartSize + '</div>';
// END DETAIL ROW
// QTY ROW
mc += '<div class="wrapQtyBtn">';
mc += '<div class="qtyField">';
mc += '<span class="item-decrement">';
mc += '<a class="qtyBtn minus simpleCart_decrement" href="javascript:;">';
mc += '<i class="anm anm-minus-r" aria-hidden="true"></i>';
mc += '</a>';
mc += '</span>';
mc += '<input type="text" name="quantity" value="' + cartQta + '" class="qty item-quantity">';
mc += '<span class="item-increment">';
mc += '<a class="qtyBtn plus simpleCart_increment" href="javascript:;">';
mc += '<i class="anm anm-plus-r" aria-hidden="true"></i>';
mc += '</a>';
mc += '</span>';
mc += '</div>';
mc += '</div>';
// END QTY ROW
// PRICE ROW
mc += '<div class="priceRow">';
mc += '<div class="product-price">';
mc += '<span class="money item-price">' + cartPrice + '</span>';
mc += '</div>';
mc += '</div>';
// END PRICE ROW
mc += '</div>';
mc += '</li>';
cntRow++;
sci += 2;
$('#minicart_items').html(mc);
});
}
i probelmi sono questi:
- remove -> funziona perchè leva l'item corretto, ma visualizzo il carrello corretto solo quando aggiorno la pagina
- increment e decrement vanno in errore; ve lo posto qua sotto
codice:
Uncaught TypeError: b.find(...).decrement is not a function callback https://www.sito.it/js/simpleCart.js:1144
jQuery 8
<anonymous> https://www.sito.it/new/avone/assets/js/plugins.js:18
<anonymous> https://www.sito.it/new/avone/assets/js/plugins.js:18
<anonymous> https://www.sito.it/new/avone/assets/js/plugins.js:1
la riga 1144 è questa:
codice:
b.find(b.$(this).closest(".itemRow").attr("id").split("_")[1]).decrement();
sinceramente non riesco a capire cosa mi manca.