Shopify Scripts需求:仅同商品变体满足数量时应用阶梯折扣
修改后的Shopify 变体专属阶梯折扣脚本
以下脚本仅针对同一商品变体购买数量≥10件的情况触发折扣,不同变体的数量不会累加计算:
# 定义折扣规则:同一变体满10件时的折扣比例(示例为10%折扣) DISCOUNT_PERCENTAGE = 10.0 MIN_QUANTITY_PER_VARIANT = 10 # 遍历购物车中每个商品项(每个项对应一个唯一变体) Input.cart.line_items.each do |line_item| # 仅当当前变体的购买数量达到阈值时应用折扣 if line_item.quantity >= MIN_QUANTITY_PER_VARIANT # 计算折扣金额 discount_amount = line_item.line_price * (DISCOUNT_PERCENTAGE / 100.0) # 创建折扣并应用到当前商品项 line_item.change_line_price(line_item.line_price - discount_amount, message: "变体满10件享#{DISCOUNT_PERCENTAGE}%折扣") end end # 输出修改后的购物车 Output.cart = Input.cart
关键说明
- 脚本会逐个检查购物车中的每个商品项(每个商品项绑定唯一的商品变体),只有当该变体的购买数量达到设定的
MIN_QUANTITY_PER_VARIANT(即10件)时,才会对该商品项应用折扣。 - 不同变体的数量完全独立计算,不会出现“5件黑色+5件红色”触发折扣的情况。
- 你可以根据需求修改
DISCOUNT_PERCENTAGE调整折扣比例,或修改MIN_QUANTITY_PER_VARIANT调整触发阈值。
场景验证
- ✅ 正确场景:购买10件黑色手机变体 → 触发折扣
- ✅ 正确场景:购买5件红色手机变体 → 不触发折扣
- ✅ 错误场景拦截:5件黑色+5件红色手机变体 → 两个变体数量均未达10,不触发折扣
内容的提问来源于stack exchange,提问作者Monzstro
相关产品推荐
相关产品推荐

