在 Shopify 中堆叠折扣代码

Stacking Discount Codes in Shopify

我正在尝试在 Shopify 购物车中应用两个折扣。我阅读了文档,发现您可以通过使用提供给 Shopify Plus 帐户的脚本应用程序来执行相同的操作。所以,我继续创建了一个折扣脚本。该脚本在 Shopify 控制台中创建后完美执行。但是,当我尝试进行预览时,它似乎不起作用,因为默认情况下折扣未应用于购物车。

其次,在创建脚本后,它为我提供了一个 ruby 脚本。我也不知道放在哪里。我的意思是我可能遗漏了那部分,因此我没有获得应用于购物车的默认折扣。下面是自动生成的 ruby 脚本:

DISCOUNTS_BY_QUANTITY = {
  10_000 => 20,
  1_000 => 15,
  100 => 10,
  10 => 5,
}

Input.cart.line_items.each do |line_item|
  next if line_item.variant.product.gift_card?

  quantity, discount = DISCOUNTS_BY_QUANTITY.find do |quantity, _|
    line_item.quantity >= quantity
  end
  next unless discount

  message = "#{discount}% off when buying at least #{quantity}."
  line_item.change_line_price(
    line_item.line_price * (Decimal.new(1) - discount.to_d / 100),
    message: message,
  )
end

Output.cart = Input.cart

我的问题是:

  1. 如何在 Shopify 中实现可叠加折扣?
  2. 脚本编辑器中自动生成的代码有什么用,如何使用?

我很久以前就问过这个问题,现在又回来了,因为我很清楚 shopify 脚本现在是如何工作的。每次在结帐页面上执行该脚本,如果满足条件,它将按照编写的代码执行。以下示例向已标记为白金用户的用户提供了 10% 的运费折扣。


customer = Input.cart.customer
if customer 
  customer.tags.each do |tag|
    next unless tag == 'Platinum'
    Input.shipping_rates.each do |shipping_rate|
      shipping_rate.apply_discount(shipping_rate.price * 0.10, message: "Discounted shipping")
    end
  end
end

Output.shipping_rates = Input.shipping_rates

Shopify 脚本应用程序是一个非常强大的工具,可用于为 Shopify 商店提供非常好的定制。为应用程序提供的文档也非常说明性,如果您想自己编写代码,应该可以帮助您。

文档 Link - Link