Zum Inhalt springen
Script-Beispiele

Migrating a script that set a fixed price per item

This is the single most expensive misreading in the whole migration. On an $80 item, "set it to $9.99" and "take $9.99 off" differ by $70.01, and the two files are one minus sign apart.

Nachgebaut
Was das Script gemacht hat

It replaced the price of every matching unit with one flat amount.

Im eigenen Shop ausprobieren

Fügen Sie es in die Scripts-Rettung ein und sehen Sie, was daraus wird

  1. Kopieren Sie das Ruby mit der Schaltfläche neben jedem Script auf dieser Seite.
  2. Öffnen Sie im Shopify-Adminbereich Stackable, dann Tools, dann Scripts-Rettung.
  3. Fügen Sie es dort ein, lesen Sie, was das Tool bauen will, und vergleichen Sie das mit den Einstellungen auf dieser Seite.

Die Scripts-Rettung gehört zum Pro-Tarif. Nichts wird veröffentlicht, bevor Sie angeben, was Ihr altes Script berechnet hat, und beide Zahlen auf den Cent genau übereinstimmen.

Das Script

Nachgebaut

Gefährliches Paar D1. Diese Datei und ihr Gegenstück sehen fast gleich aus und verhalten sich unterschiedlich, lesen Sie also beide, bevor Sie entscheiden, welche Sie haben.

Das ursprüngliche Ruby

FIXED_PRICE = Money.new(cents: 999)

Input.cart.line_items.each do |line_item|
  next unless line_item.variant.product.product_type == "Clearance"
  line_item.change_line_price(FIXED_PRICE * line_item.quantity, message: "Clearance $9.99 each")
end

Output.cart = Input.cart
Was daraus wird

Erkannt als Fixed price per item und neu aufgebaut als Angebot vom Typ volume. Das sind die echten Konfigurationsschlüssel, mit denen das Angebot gespeichert wird, sodass Sie Ihren eigenen Nachbau Feld für Feld damit abgleichen können.

Jede Einstellung im Detail
EinstellungWertKonfigurationsschlüssel
Offer typevolumetype
Countingper_variantcounting
Recurrencerepeatrecurrence
Tier 1min qty 1 -> $9.99 set pricetiers[0]
Target scopeproduct_typestarget.scope
Target includesClearancetarget.includeIds
MethodautomaticdiscountMethod
Allocationstandardstacking.allocation
Combines with other discountsnostacking
Sie werden um Bestätigung gebeten
  • Your Script limited this to a tag, vendor, or product type. We carried that filter over, so confirm it selects the products you expect.
Der Warenkorb, der es belegt

Aufgebaut in unserem öffentlichen Demo-Shop Meridian Goods, damit sich jeder Preis hier nachrechnen lässt und nicht geglaubt werden muss. Der Rabatt unten ist das, was dieselbe Engine, die im Checkout läuft, für genau diesen Warenkorb berechnet.

  • No Meridian Goods product carries the type Clearance. Set it on Aria Wireless Earbuds in Shopify before you build the cart, and on nothing else.
Der Warenkorb, der dieses Angebot auslöst, und was es kostet
ArtikelMengeEinzelpreis
Aria Wireless Earbuds1$79.00
Zwischensumme$79.00
Rabatt-$69.01
Summe$9.99

Nicht angemeldet oder als Kunde ohne Tags angemeldet.

Die Zahl, an der das Tool Sie misst

Vor dem Veröffentlichen fragt das Tool, was Ihr altes Script mit einem Warenkorb gemacht hat, den Sie bereits haben. Stellen Sie ihn auf 1 von Aria Wireless Earbuds zu $79.00 ein, dann steht die Antwort fest.

Der Rabatt beträgt $69.01. Der Betrag, den der Käufer gezahlt hat, ist $9.99.

Der Vergleich ist exakt, bis auf die kleinste Einheit Ihrer Währung. Ein Cent daneben und das Veröffentlichen bleibt gesperrt, genau darum geht es bei diesem Schritt.

Der Warenkorb, der nichts auslösen darf
  • swap the cart for a single Braided USB-C Cable
Der Warenkorb, der dieses Angebot nicht auslösen darf
ArtikelMengeEinzelpreis
Braided USB-C Cable1$14.00
Zwischensumme$14.00
Summe$14.00

Nicht angemeldet oder als Kunde ohne Tags angemeldet.

Zwei Dateien, die gleich aussehen

Jedes Paar unten ist dieselbe Script-Form in zwei Schreibweisen. Sie unterscheiden sich in ein, zwei Zeilen und tun Unterschiedliches. Lesen Sie beide, bevor Sie entscheiden, welche Sie haben.

Gefährliches Paar D1

Fixed price per unit (D1)

Nachgebaut

Wird als volume-Angebot nachgebaut.

Rabatt im eigenen Warenkorb: $69.01

Zeilen, die abweichen
FIXED_PRICE = Money.new(cents: 999)
  line_item.change_line_price(FIXED_PRICE * line_item.quantity, message: "Clearance $9.99 each")
Fixed price per item lesen

Amount off per unit (D1)

Nachgebaut

Wird als volume-Angebot nachgebaut.

Rabatt im eigenen Warenkorb: $9.99

Zeilen, die abweichen
DISCOUNT = Money.new(cents: 999)
  new_price = line_item.line_price - (DISCOUNT * line_item.quantity)
  line_item.change_line_price(new_price, message: "$9.99 off each")
Amount off each item lesen

Häufige Fragen

Will Stackable rebuild this script?
Yes. Every spelling on this page is rebuilt today as a volume offer, and the cart above is the one that proves it.
What cart proves it works?
1 x Aria Wireless Earbuds at $79.00. The engine takes $69.01 off, and checkout charges $9.99.
What will I have to check before publishing?
Your Script limited this to a tag, vendor, or product type. We carried that filter over, so confirm it selects the products you expect.

Verwandte Script-Formen

Amount off each item

A flat sum taken off every unit, however many the shopper bought.

Amount off the order

One lump sum off the whole cart, spread across the lines.

Sitewide percentage off

One percentage off the whole catalogue, with no condition attached.

Fügen Sie Ihr Script ein und sehen Sie den Nachbau

Der Nachbau wird mit dem Betrag abgeglichen, den Ihr altes Script berechnet hat, bevor Sie ihn veröffentlichen können.

Wir verwenden essenzielle Cookies für den Betrieb dieser Website und, nur mit Ihrer Erlaubnis, Analyse-Cookies, um den Traffic zu verstehen. Lesen Sie unsere Cookie-Richtlinie.