簡體   English   中英

Snipcart v3 添加帶有 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM