如果存在此产品标签,则使用Ruby脚本对某些产品打折

时间:2018-11-29 10:38:38

标签: ruby

我正在为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

但是我不能使用产品标签来代替它吗?有任何想法吗?

0 个答案:

没有答案