簡體   English   中英

在 Shopify 如何通過 url 將不同數量的多種產品添加到購物車

[英]In Shopify how to add multiple products to cart with varying quantities via url

我知道在 Shopify 您可以添加多個產品,如下所示:

/cart/add?id[]=VARIANT_ID1&id[]=VARIANT_ID2

我的問題是您將如何調整添加的每種產品的數量?

例如,我希望VARIANT_ID1的數量為 2,而VARIANT_ID2的數量為 1?

我試過這個:

/cart/add?id[]=VARIANT_ID1&quantity=2&id[]=VARIANT_ID2&quantity=1

但它只是使所有東西的數量都為 1。

更新

對 AJAX API 進行了更新,現在允許使用相同的請求添加具有不同數量的多個變體。

例子:

fetch('/cart/add.js', {
    method: "post",
    headers: { 'content-type': 'application/json' },
    body: JSON.stringify({
        items: [
            {
                id: 33116502556724,
                quantity: 5
            },
            {
                id: 33116502589492,
                quantity: 3
            }
        ]
    })
})

舊答案

您不能將數量用作每個變體的單獨項目。

你有幾個選擇,但它們都有一些缺點。

有關請求,請參閱此文檔: https : //help.shopify.com/en/themes/development/getting-started/using-ajax-api

使用/cart/add.js

您可以創建多個 AJAX 請求並將每個單獨的項目添加為新的 AJAX 請求。

優點:

  • 如果它們已經存在,它不會影響購物車中的產品

缺點:

  • AJAX 請求過多

使用/cart/update.js

您可以發出一個請求並將不同的數量傳遞給每個變體。

優點

  • 使用不同數量的單個 AJAX 請求保存所有變體

缺點

  • 如果產品已添加到購物車中,您將覆蓋產品數量

因此,解決方案可能是讓cart.js響應檢查當前變體是否存在,如果它們存在,則在將數量添加到現有變體的同時制作一個update.js 所以這不是那么簡單。

我想不出更簡單的解決方案,但最后您可能需要至少 2 個 AJAX 調用來添加不同的數量。

更簡單的方法是使用 Shopify 永久鏈接。

購物車固定鏈接將您的客戶直接帶到結賬屏幕的第一頁,其中商品已預先加載到他們的購物車中。

這是購物車永久鏈接的樣子:

http://your-store.myshopify.com/cart/70881412:1,70881382:1

其中 70881412 是產品變體的唯一 ID,1 是數量。

所以url的格式是:

http://yourstore.com/cart/#{variant_id}:#{quantity}(,...)

我通過使用以下代碼片段解決了這個問題:

/cart/update?updates[VARIANT_ID1]=quantity&updates[VARIANT_ID2]=quantity

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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