Shopify在购物车页面上显示总折扣(结账前)



我试图在结账前在Shopify主题的购物车页面上显示通过URL应用的折扣码。

示例URL为store.com/discount/DISCOUNTCOUPON

我已经验证了折扣的存在,如果我点击Checkout并进入Shopifys内置的结账流程,那么我可以看到自动折扣实际上已经应用——它不会显示在购物车页面上。折扣类型是适用于整个购物车的%。

我根据本指南尝试了以下片段:https://shopify.dev/themes/pricing-payments/discounts

我使用黎明主题也是根据指南。(并将代码应用于cart对象中的一个部分(。

{% if cart.cart_level_discount_application.size > 0 %}
Discounts:
<ul>
{% for discount_application in cart.cart_level_discount_applications %}
<li>
{{ discount_application.title }}-{{ discount_application.total_allocated_amount | money }}
</li>
{% endfor %}
</ul>
{% endif %}

我也尝试过使用一些变体,例如:

{{ discount.title }}
{{ discount.total_allocated_amount | money }})

似乎没有什么能显示折扣。

有人以前遇到过这个,有什么想法吗?此外,为了进一步澄清,我没有使用Shopify Plus,但我在任何地方都找不到这是一项要求。

Shopify中有三种类型的折扣:

  1. 自动折扣:在Shopify管理面板中创建折扣时,您可以选择将其自动应用于所有或某些订单/客户
  2. Shopify脚本:这是一款可供Shopify Plus用户使用的Shopify应用程序。使用ruby代码,您可以实现更自定义的购物车/结账行为

我相信文档截图中看到的用户体验是使用上述两种方法之一实现的。

  1. 手动折扣代码:在Shopify管理面板中创建折扣时,选择"折扣代码";而不是";自动折扣";。这些代码只在网站的结账部分可见,无论商店是否为Shopify Plus

大多数人只是在购物车页面上写一条免责声明,比如";折扣将在结账时计算";。

通过url添加折扣码生成名为"的cookie;discount_code";,可以通过JS在购物车页面中显示,以获得更好的用户体验,但它只包含折扣的名称。

其他解决方案包括由第三方构建的各种Shopify应用程序,例如:https://apps.shopify.com/discount-coupon-field-in-cart-page.

他们通常使用Shopify GraphQL Storefront API来创建购物车并显示它们,但此解决方案涉及更多的复杂性:https://shopify.dev/api/examples/cart

回复较晚,但希望回答您的问题并分享另一个解决方案。

我认为你的代码片段有一些拼写错误,即cart_level_discount_application在结尾需要一个s(确保没有拼写错误,我认为代码片段应该很好,祝你好运(

如果你想在你的购物车或商店的任何地方添加折扣表(比如结账时的折扣表(,你可以查看这个免费的Shopify Discounter Web组件

Shopify Discounter Web组件支持:

  1. 折扣码
  2. 自动折扣
  3. 礼品卡
  4. 折扣组合
  5. 多种货币
  6. 内部化
  7. 使用css变量进行样式自定义
  8. 把它放在商店的任何地方

希望这能有所帮助。

最新更新