[英]Block discount on certain product shopify script
我想在Shopify中编写一个脚本,以防止某些产品出现折扣。 我知道这是错误的,但类似这样:
Input.cart.line_items.each do |line_item|
product = line_item.variant.product
if product = 123456789
CartDiscount.remove("Discount does not apply")
end
end
Output.cart = Input.cart
我查看了文档 ,看到了.reject({ message: String })
方法,但该方法适用于整个购物车。 有没有一种方法可以将其本地化到一个实例?
老问题了,但我找到了解决方法:基本上,您不能将折扣“本地化”到特定产品。 您必须阻止整个购物车获得折扣。 我最终采用的方法如下:
# ID of product you want to block
productId = 10199241991
# Runs through a loop of items in your cart
Input.cart.line_items.each do |line_item|
product = line_item.variant.product
puts product.id
next if product.gift_card?
next unless product.id == productId
case Input.cart.discount_code
when CartDiscount::Percentage
Input.cart.discount_code.reject({message: "Cannot be used with this product"})
end
end
Output.cart = Input.cart
打折很容易。 首先...从购物车中获取折扣码。 您知道它适用于整个购物车。 现在您有了金额,百分比或您在代码中给客户的任何内容。 现在可以欣赏脚本的优美之处。
对于每种产品,决定是否打折。 如果是,则应用从提供给商品的折扣代码中知道的折扣金额。 如果是不打折的产品,请不要理会价格。
您为脚本引擎付出了高昂的代价。 如果您自己不能编程,请付钱给可以的人! 您最好学习一个工作脚本来学习,以使自己超越自我。
因此,您实际上可以拒绝购物车的折扣代码,但仍可以折扣某些或部分而非全部的产品。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.