我一直在努力寻找在Shopify中向购物车中添加免费产品的最佳方法,但是在他们的文档中找不到我想要的东西。
我需要做的是,如果购物车的价值等于或大于10英镑,则向购物车中添加产品。我设法添加了产品,但是如何将价格更改为零?此外,如何确保用户选择了更多数量的产品,他们不会获得多个免费商品,而只会获得一个免费商品?希望有道理。
到目前为止,这是我添加产品的很好方法。但不要改变价格。
* EDIT:我知道如果我不能更改商品的价格,那么我可以在购物车页面级别应用固定的折扣代码吗?
**编辑:请考虑一下,折扣代码无论如何都不会起作用,因为用户可以轻松移除免费产品并仍然获得折扣。也许我需要创建某种无法在商店中搜索到的隐藏产品,将其添加到购物车并禁用数量选择器。
必须有一种方法来执行此操作,因为有些应用程序可以执行此操作。
**我不想使用应用
<script>
$(".cart__qty-input").blur(function() {
location.reload();
})(jQuery);
</script>
{% assign product = all_products['free-gift'] %}
{% unless cart.item_count == 0 or product.empty? or product.variants.first.available == false %}
{% if cart.total_price >= 1000 %}
{% assign variant_id = product.variants.first.id %}
<script>
(function($) {
var cartItems = {{ cart.items | json }},
qtyInTheCart = 0,
cartUpdates = {};
for (var i=0; i<cartItems.length; i++) {
if ( cartItems[i].id === {{ variant_id }} ) {
qtyInTheCart = cartItems[i].quantity;
break;
}
}
if ( ( cartItems.length === 1 ) && ( qtyInTheCart > 0 ) ) {
cartUpdates = { {{ variant_id }}: 0 }
}
else if ( ( cartItems.length >= 1 ) && ( qtyInTheCart !== 1 ) ) {
cartUpdates = { {{ variant_id }}: 1 }
}
else {
return;
}
var params = {
type: 'POST',
url: '/cart/update.js',
data: { updates: cartUpdates },
dataType: 'json',
success: function(stuff) {
window.location.href = '/cart';
}
};
$.ajax(params);
})(jQuery);
</script>
{% endif %}
{% endunless %}
答案 0 :(得分:0)
您可以通过使用标准Shopify功能来实现。
创建一个集合,其中包含礼物以外的所有产品。
使用以下配置创建自动折扣:
客户支出:最低购买金额
客户获得:
以上内容必须符合您的规格。
然后,您仍然可以使用已经创建的脚本,根据购物车总数自动将礼品产品添加/删除到购物车中(如果需要)。如果客户将礼品产品的数量更改为2个或更多,他将按照Shopify中指定的标准价格购买。如果购物车符合条件,则仅会打折一件礼物。