我想在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
我查看了documentation并看到了.reject({ message: String })
方法,但它适用于整个购物车。有没有办法将其本地化为一个实例?
答案 0 :(得分:0)
旧问题,但我找到了一个解决方案:基本上,你可以"定位"特定产品的折扣。你必须阻止整个购物车获得折扣。我最终采取的方法如下:
# 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
答案 1 :(得分:-1)
折扣很简单。首先......从购物车中获取折扣代码。你知道它适用于整个购物车。现在,您有一个数量,百分比或您在代码中给客户的任何内容。现在踢脚本的美丽。
对于每种产品,确定它是否打折。如果是,请从提供给项目的折扣代码中应用您知道的折扣金额。如果它是不打折的产品,请保持价格。
你为脚本引擎付出了巨大的代价。如果你不能自己编程,付钱就可以!你最好学习一个工作脚本来学习,试图自己动手。
所以你实际上可以拒绝购物车的折扣代码,但仍然会折扣产品,有些产品,而不是全部或其他产品。