Ruby 某些产品shopify脚本的阻止折扣
我想在Shopify中编写一个脚本,防止在某些产品上呈现折扣。我知道这是错误的,但像这样:Ruby 某些产品shopify脚本的阻止折扣,ruby,shopify,Ruby,Shopify,我想在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 我查看了,看到了
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
这并没有完全回答我的问题-我想将
.reject({message:String})
本地化为单个产品,但仍将折扣应用于购物车中的其他项目(如果适用)。这可能吗?唯一的@DavidLazar everyone;为了您的阅读乐趣;)我猜你现在也在努力写剧本。