Aller au contenu
Exemples de Scripts

Migrating a script that held several campaigns

Merchants got one published script per type, so everything went in one file. A tool that reads the first rule and reports success has told you the file is handled when three quarters of it is not.

Pas encore géré
Ce que faisait le Script

It ran several separate campaigns over the same cart, one after another.

Essayez-le sur votre propre boutique

Collez-le dans Sauvetage des Scripts et regardez ce qu'il reconstruit

  1. Copiez le Ruby avec le bouton placé à côté de chaque Script de cette page.
  2. Dans votre interface Shopify, ouvrez Stackable, puis Outils, puis Sauvetage des Scripts.
  3. 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

Pas encore géré
Le Ruby d'origine

# GENERATED BY THE SHOPIFY SCRIPT CREATOR APP
# Version 0.12.0

class Campaign
  def initialize(condition, *qualifiers)
    @condition = (condition.to_s + '?').to_sym
    @qualifiers = PostCartAmountQualifier ? [] : [] rescue qualifiers.compact
  end

  def qualifies?(cart)
    return true if @qualifiers.empty?
  end
end

CAMPAIGNS = [
  ConditionalDiscount.new(
    :all, nil, nil,
    ProductTagSelector.new(:does, :match, ["sale"]),
    PercentageDiscount.new(20, "20% off sale"),
    0
  ),
  ConditionalDiscount.new(
    :all, nil, nil,
    ProductVendorSelector.new(:does, ["Acme"]),
    PercentageDiscount.new(15, "15% off Acme"),
    0
  ),
  QuantityTierDiscount.new(
    :all, nil, nil,
    :line_quantity,
    [{tier: "5", discount: "10", message: "Buy 5+"}],
    0
  ),
  ConditionalDiscount.new(
    :all,
    CustomerTagQualifier.new(:does, :match, ["VIP"]),
    nil, nil,
    PercentageDiscount.new(25, "VIP 25% off"),
    0
  ),
].freeze

CAMPAIGNS.each do |campaign|
  campaign.run(Input.cart)
end

Output.cart = Input.cart
Ce qu'il advient de celui-ci

We have not built this yet

This file holds several campaigns merged together, and the Script kept whichever gave the better price. We will not collapse them into one offer. Split them up and we can rebuild each one.

C'est notre lacune, pas celle de Shopify. Shopify l'autorise et nous ne l'avons pas construit, il n'y a donc rien à lier ici ni rien à reprocher à la plateforme.

Clé du motif : unsupported.multiCampaign

Il n'y a pas de panier à tester ici, puisque rien n'est construit. Coller ceci produit le message ci-dessus et aucune campagne.

Questions fréquentes

Will Stackable rebuild this script?
No, and the reason is stated rather than hidden: This file holds several campaigns merged together, and the Script kept whichever gave the better price. We will not collapse them into one offer. Split them up and we can rebuild each one.

Formes de Script apparentées

Copied from a forum thread

A paste that lost its instance variables on the way through a forum post.

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.

Nous utilisons des cookies essentiels pour faire fonctionner ce site et, uniquement avec votre autorisation, des cookies d'analyse pour comprendre le trafic. Consultez notre Politique de cookies.