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.
ReconstruitIt replaced the price of every matching unit with one flat amount.
Collez-le dans Sauvetage des Scripts et regardez ce qu'il reconstruit
- Copiez le Ruby avec le bouton placé à côté de chaque Script de cette page.
- Dans votre interface Shopify, ouvrez Stackable, puis Outils, puis Sauvetage des Scripts.
- Collez-le, lisez ce que l'outil annonce qu'il va construire et comparez-le aux réglages de cette page.
Sauvetage des Scripts fait partie du forfait Pro. Rien n'est publié tant que vous n'avez pas indiqué la remise de votre ancien Script et que les deux chiffres ne correspondent pas au centime près.
Le Script
ReconstruitPaire à risque D1. Ce fichier et son jumeau se ressemblent presque à l'identique et se comportent différemment, alors lisez les deux avant de décider lequel vous avez.
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.cartReconnu comme Fixed price per item et reconstruit en offre de type volume. Voici les vraies clés de configuration avec lesquelles l'offre est enregistrée, pour que vous puissiez comparer votre propre reconstruction champ par champ.
| Réglage | Valeur | Clé de configuration |
|---|---|---|
| Offer type | volume | type |
| Counting | per_variant | counting |
| Recurrence | repeat | recurrence |
| Tier 1 | min qty 1 -> $9.99 set price | tiers[0] |
| Target scope | product_types | target.scope |
| Target includes | Clearance | target.includeIds |
| Method | automatic | discountMethod |
| Allocation | standard | stacking.allocation |
| Combines with other discounts | no | stacking |
- Your Script limited this to a tag, vendor, or product type. We carried that filter over, so confirm it selects the products you expect.
Construit sur notre boutique de démonstration publique, Meridian Goods, pour que chaque prix ici puisse être reproduit plutôt que cru sur parole. La remise ci-dessous est ce que le moteur qui tourne au paiement calcule pour ce panier précis.
- 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.
| Article | Qté | Prix unitaire |
|---|---|---|
| Aria Wireless Earbuds | 1 | $79.00 |
| Sous-total | $79.00 | |
| Remise | -$69.01 | |
| Total | $9.99 | |
Déconnecté, ou connecté en tant que client sans tag.
Avant la publication, l'outil demande ce que votre ancien Script faisait à un panier que vous avez déjà. Réglez-le sur 1 de Aria Wireless Earbuds à $79.00 et la réponse est fixée.
La remise est de $69.01. Le total payé par l'acheteur est de $9.99.
La comparaison est exacte, jusqu'à la plus petite unité de votre devise. Un centime d'écart et la publication reste bloquée, ce qui est tout l'intérêt de l'étape.
- swap the cart for a single Braided USB-C Cable
| Article | Qté | Prix unitaire |
|---|---|---|
| Braided USB-C Cable | 1 | $14.00 |
| Sous-total | $14.00 | |
| Total | $14.00 | |
Déconnecté, ou connecté en tant que client sans tag.
Deux fichiers qui se ressemblent
Chaque paire ci-dessous est une même forme de Script écrite de deux façons. Une ou deux lignes les séparent et elles ne font pas la même chose, alors lisez les deux avant de décider laquelle vous avez.
Paire piégeuse D1
Fixed price per unit (D1)
ReconstruitReconstruit en offre volume.
Remise sur son propre panier : $69.01
FIXED_PRICE = Money.new(cents: 999)
line_item.change_line_price(FIXED_PRICE * line_item.quantity, message: "Clearance $9.99 each")Amount off per unit (D1)
ReconstruitReconstruit en offre volume.
Remise sur son propre panier : $9.99
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")Questions fréquentes
- 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.
Formes de Script apparentées
A flat sum taken off every unit, however many the shopper bought.
One lump sum off the whole cart, spread across the lines.
One percentage off the whole catalogue, with no condition attached.
Collez votre Script et voyez sa reconstruction
La reconstruction est comparée au montant que facturait votre ancien Script avant que vous puissiez la publier.