我试图在结账前在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中有三种类型的折扣:
- 自动折扣:在Shopify管理面板中创建折扣时,您可以选择将其自动应用于所有或某些订单/客户
- Shopify脚本:这是一款可供Shopify Plus用户使用的Shopify应用程序。使用ruby代码,您可以实现更自定义的购物车/结账行为
我相信文档截图中看到的用户体验是使用上述两种方法之一实现的。
- 手动折扣代码:在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组件支持:
- 折扣码
- 自动折扣
- 礼品卡
- 折扣组合
- 多种货币
- 内部化
- 使用css变量进行样式自定义
- 把它放在商店的任何地方
希望这能有所帮助。