[英]Snipcart V 3.0: adding an item with custom fields (JavaScript SDK)
[英]Snipcart v3 adding an item with JavaScript SDK
我正在嘗試復制一個非常好的教程,介紹如何在購物車中將每個項目放在自己的行中。 您可以在此鏈接上找到它。 不幸的是,本教程使用的是 Snipcart v2,我希望它可以與 v3 一起使用。
我面臨的問題是將商品添加到購物車是無休止地重復。 我不確定,但我猜它與item.adding
事件有關,該事件觸發每個添加了 Javascript SDK 的項目。
由於 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);
}
});
});
});
需要此代碼以確保商品不會堆疊在購物車中。 在 v3 中,要使項目不可堆疊,您可以使用設置為從不的data-item- stackable 屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.