我正在为shopify网站开发折扣脚本,并且对红宝石没有太多经验。该脚本基本上是用于捆绑销售商品的,需要检查两个产品标签。它应该打折带有特定标签的产品,我这样做是这样的:
@percent = Decimal.new(50) / 100.0
Input.cart.line_items.each do |line_item|
product = line_item.variant.product
next unless product.tags.include?('Giftset1-Item')
line_discount = line_item.line_price * @percent
line_item.change_line_price(line_item.line_price - line_discount, message: "bundle")
end
Output.cart = Input.cart
这很好。现在,只有在购物车中有其他带有特定标签的产品才可以打折。 我知道如何使用这样的商品ID
discounted_product = 1522083265
products_needed = [592406273, 4283854977, 4284984897]
products_seen = []
Input.cart.line_items.each do |line_item|
product = line_item.variant.product
products_seen << product.id if products_needed.include?(product.id)
end
Input.cart.line_items.each do |line_item|
product = line_item.variant.product
next unless product.id == discounted_product
line_item.change_line_price(line_item.line_price * 0.50) if products_seen.uniq.sort == products_needed.uniq.sort
end
Output.cart = Input.cart
但是我不能使用产品标签来代替它吗?有任何想法吗?