我正在尝试复制一个非常好的教程,关于如何在购物车中将每一件商品放在自己的行中。你可以在这个link上找到它。不幸的是,本教程使用的是Snipcart v2,我希望将其与v3一起使用。
我面临的问题是,将商品添加到购物车中是无休止的重复。我不确定,但我猜这与Javascript SDK添加的每一项都会触发item.adding事件有关。
由于Snipcart没有任何支持,除了每周一句简单的话,我希望在这里找到一个善良的灵魂,愿意帮助我。
这是我的代码:
document.addEventListener('snipcart.ready', () => {
Snipcart.events.on('item.adding', (item) => {
var quantity = item.quantity;
item.quantity = 1;
var products = new Array(quantity).fill({
id: item.id,
name: item.name,
price: item.price,
url: item.url,
customFields: item.customFields,
quantity: item.quantity,
stackable: "never"
});
products.forEach(async product => {
try {
await Snipcart.api.cart.items.add({
id: product.id,
name: product.name,
price: product.price,
url: product.url,
quantity: product.quantity,
customFields: product.customFields,
stackable: "never"
});
} catch (error) {
console.log(error);
}
});
});
});发布于 2021-03-02 06:06:38
需要此代码来确保商品不会堆放在购物车中。在v3中,若要使该项不可堆叠,可以使用data-item-stackable属性设置为never。
https://stackoverflow.com/questions/66370068
复制相似问题