Я работаю над сценарием скидок для сайта Shopify и не имею большого опыта работы с ruby.Сценарий в основном для пакета и должен проверять два тега продукта.Предполагается, что товары со скидкой будут помечены тегом, который я сделал следующим образом:
@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
Это отлично работает.Теперь предполагается, что скидка на эти товары возможна только в том случае, если в корзине есть другой товар с определенной биркой.Я знаю, как сделать это с помощью идентификатора продукта, подобного этому
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
Но я не могу заставить его работать с использованием тега продукта вместо этого?Есть идеи?