在 Shopify 中,如何通过 url 将不同数量的多个产品添加到购物车

Posted

技术标签:

【中文标题】在 Shopify 中,如何通过 url 将不同数量的多个产品添加到购物车【英文标题】:In Shopify how to add multiple products to cart with varying quantities via url 【发布时间】:2019-09-22 23:45:25 【问题描述】:

我知道在 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。

【问题讨论】:

【参考方案1】:

更简单的方法是使用 Shopify 永久链接。

购物车永久链接将您的客户直接带到结帐屏幕的第一页,其中商品已预先加载到他们的购物车中。

这是购物车永久链接的样子:

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

其中 70881412 是产品多属性的唯一 ID,1 是数量。

所以url的格式是:

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

【讨论】:

效果很好,但大多数网站不希望跳过购物车页面。【参考方案2】:

我通过使用下面的代码 sn-p 解决了这个问题:

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

【讨论】:

几乎是完美的解决方案,但它取代了购物车中已有的任何数量。所以,可能会有问题。 是的,这是@ChrisHayes 的一个缺点。你有什么解决方法吗? 我最终将/cart/update?updates 与GET /cart.js 结合使用,以避免在几个请求中挂起“添加到购物车”。因此,在页面加载时,它会获取购物车中的商品并使用正确的数量更新按钮。但是,如果有人在多个标签中添加到购物车而不刷新页面,仍然不完美。丑陋的解决方法是每 X 秒获取一次购物车状态。 你明白了!就是这样,没有简洁完美的解决方案。【参考方案3】:

更新

对 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 中,如何通过 url 将不同数量的多个产品添加到购物车的主要内容,如果未能解决你的问题,请参考以下文章

Shopify 在 url 中启用折扣代码(每页) - 无重定向

接收不到shopify webhook 发送post请求

如何在 Shopify 中显示元字段

如何开发一个改变产品页面的shopify应用程序?

如何链接到 Shopify 中的自定义模板?

在不同平台上托管