Я создаю специальную страницу Shopify, где можно добавить несколько товаров в корзину с помощью Ajax API от Shopify.Я настроил тестовую версию страницы здесь: https://monstermuffin.com/pages/ajax-test
Вот код js, который у меня есть для настройки асинхронного вызова / добавления в корзину:
Shopify.queue = [];
Shopify.moveAlong = function() {
if (Shopify.queue.length) {
var request = Shopify.queue.shift();
Shopify.addItem(request.variantId, request.quantity, request.properties, Shopify.moveAlong);
}
else {
//document.location.href = '/cart';
}
};
Shopify.addItem = function(id, qty, properties, callback) {
var params = {
quantity: qty,
id: id,
properties: properties
};
$.ajax({
type: 'POST',
url: '/cart/add.js',
dataType: 'json',
data: params,
success: function(){
if(typeof callback === 'function'){
callback();
}
},
error: function(){
}
});
}
function push_to_queue(variantID, quantity, properties,callback) {
Shopify.queue.push({
variantId: variantID,
quantity: quantity,
properties: properties
});
if(typeof callback === 'function'){
callback();
}
}
$('#add-helmet-panties').click(function() {
$('.quantity-field:visible').each(function() {
var thisVariant = $(this).prop('id');
var thisQuantity = parseInt($(this).val(), 10) || 0;
var theseProps = {
'Base Colour': $('#base-colour').val()
}
push_to_queue(thisVariant, thisQuantity, theseProps, Shopify.moveAlong);
});
});
Как ни странно, в настоящее время он добавляет только 3 или 4 товара в корзину одновременно.
Я действительно боролся с этим!Любой совет будет принят во внимание.Я могу предоставить больше информации, если это необходимо!