跳转到主要内容
Script 示例

Migrating a spend threshold percentage script

The cleanest script in the whole library, and the one worth doing first on camera: one threshold, one percentage, one money literal, nothing ambiguous anywhere in the file.

可重建
这个 Script 做了什么

It compared the cart subtotal to a threshold and took a percentage off once it was reached.

在您自己的店铺里试一试

把它粘贴到 Scripts 救援,看看会重建成什么

  1. 用本页任意 Script 旁边的按钮复制 Ruby 代码。
  2. 在 Shopify 后台打开 Stackable,依次进入工具、Scripts 救援。
  3. 粘贴进去,读一读工具说它会创建什么,再和本页的设置逐项对照。

Scripts 救援属于 Pro 套餐。在您填写旧 Script 的折扣金额、且两个数字精确到最小货币单位完全一致之前,不会发布任何内容。

Script 本体

可重建

危险配对 D2。这个文件和它的搭档看起来几乎一样,行为却不同,在判断您手上是哪一个之前,请把两份都读一遍。

原始 Ruby

THRESHOLD = Money.new(cents: 10000)

if Input.cart.subtotal_price >= THRESHOLD
  Input.cart.line_items.each do |line_item|
    line_item.change_line_price(line_item.line_price * (1.0 - (15 / 100.0)), message: "Spend $100, save 15%")
  end
end

Output.cart = Input.cart
它会变成什么

识别为 Spend threshold discount,重建为 spend_goal 类型的优惠。下面是优惠实际保存时使用的配置键,您可以逐项核对自己的重建结果。

逐项列出的设置
设置项配置键
Offer typespend_goaltype
Countingper_cartcounting
Recurrenceoncerecurrence
Tier 1min spend $100.00 -> 15% offtiers[0]
Target scopealltarget.scope
MethodautomaticdiscountMethod
Allocationstandardstacking.allocation
Combines with other discountsnostacking
系统会请您确认
  • Confirm which products this applies to. We could not read product targeting from the script.
用于验证的购物车

基于我们的公开演示店铺 Meridian Goods 搭建,因此这里的每个价格都可以复现,而不必凭信任接受。下方的折扣金额,是结账时运行的同一个引擎针对这个购物车算出的结果。

触发这个优惠的购物车,以及它的花费
商品数量单价
Felt Laptop Sleeve2$38.00
Impact Phone Case1$24.00
小计$100.00
折扣-$15.00
总额$85.00

未登录,或以没有标签的客户身份登录。

工具用来核对您的金额

发布之前,工具会询问您原来的 Script 对一个现有购物车做了什么。把它设为 4 件 Walnut Desk Organizer,单价 $26.00,答案就是固定的。

折扣金额为 $15.60。顾客实际支付的总额为 $88.40。

比对精确到您所用货币的最小单位。差一分钱,发布就仍然被拦住,这正是这一步的意义。

必须没有任何结果的购物车
  • drop to 1 of the same product, under what the rule needs
不应触发这个优惠的购物车
商品数量单价
Felt Laptop Sleeve1$38.00
小计$38.00
总额$38.00

未登录,或以没有标签的客户身份登录。

两个看起来一样的文件

下面每一对都是同一种 Script 写法的两个版本。它们只差一两行,效果却不同,所以在判断自己手上是哪一个之前,请把两个都读一遍。

危险配对 D2

Spend threshold percentage (D2)

可重建

重建为 spend_goal 优惠。

在它自己的购物车中的折扣:$15.00

不同的行
    line_item.change_line_price(line_item.line_price * (1.0 - (15 / 100.0)), message: "Spend $100, save 15%")
阅读Spend threshold, percentage

Spend threshold fixed amount (D2)

可重建

重建为 spend_goal 优惠。

在它自己的购物车中的折扣:$15.00

不同的行
REWARD = Money.new(cents: 1500)
  remaining = REWARD
    break if remaining <= Money.zero
    share = [line_item.line_price, remaining].min
    line_item.change_line_price(line_item.line_price - share, message: "Spend $100, get $15 off")
    remaining = remaining - share
阅读Spend threshold, amount off

常见问题

Will Stackable rebuild this script?
Yes. Every spelling on this page is rebuilt today as a spend_goal offer, and the cart above is the one that proves it.
What cart proves it works?
2 x Felt Laptop Sleeve at $38.00 plus 1 x Impact Phone Case at $24.00. The engine takes $15.00 off, and checkout charges $85.00.
What will I have to check before publishing?
Confirm which products this applies to. We could not read product targeting from the script.

相关的 Script 类型

Spend threshold, amount off

A flat sum off the order once the cart crosses a value.

Discounted cart subtotal

A threshold read from what was left after a code had already come off.

粘贴您的 Script,看看它如何被重建

在您发布之前,重建结果会与原来的 Script 收取的金额进行核对。

我们使用必要 Cookie 来运行本网站,并仅在获得你许可的情况下,使用分析 Cookie 来了解访问情况。详见我们的 Cookie 政策.