Aquí está mi código, lo que quiero es establecer un límite total de carrito de 10 si el usuario intenta agregar más de 10 artículos en el carrito, el carrito se actualizará automáticamente y eliminará artículos adicionales, por ejemplo, si hay 10 productos en el carrito y el usuario intenta agregar 5 se eliminarán más de 5 elementos existentes si hay 11, entonces se eliminará 1 elemento Hice todo lo posible para lograr mi requisito, pero creo que me falta algo
Funciona perfectamente bien cuando la consola está abierta, pero no funciona cuando la consola está cerrada.
{ key: "_onProductAdded", value: function(e) { var t = this; this.itemCount += e.detail.quantity,this._rerenderCart().then(function() { jQuery.getJSON('/cart.js', function (cart) { var items_new = cart.items; var count = cart.item_count; var item_to_remove = count - 10 ; if (count > 10) { var item_to_remove = count - 10; if(item_to_remove > 0) { for(var i=0;i<=items_new.length;i++) { if (count > 10) { var c_id = cart.items[i].id; var c_quantity= cart.items[i].quantity; if(c_quantity >= item_to_remove) { var data_multiple = { 'id': c_id , 'quantity':c_quantity - item_to_remove } debugger; $.ajax({ type: 'POST', url: '/cart/change.js', data: data_multiple, dataType: 'json', success: { } }); count= count - item_to_remove; }else{ var data_single = { 'id': c_id , 'quantity':c_quantity - 1 } debugger; $.ajax({ type: 'POST', url: '/cart/change.js', data: data_single, dataType: 'json', success: { } }); count= count - 1; } } } } t._rerenderCart(); t.sidebarDrawer.open() } }); }) } },