Pour une version configurée par le marchand avec des paliers, des règles par marché et une barre de progression, utilisez le bloc Rewards, sans code. Ceci est destiné aux cas où votre règle est quelque chose que le bloc ne peut pas exprimer.
L’extrait
Comment ça fonctionne
reconcileGift décrit l’état dans lequel le panier devrait être, puis effectue au plus une modification pour y parvenir :
- Éligible et le cadeau n’y est pas →
addIteml’ajoute. - Non éligible et le cadeau y est →
removeItemle retire, via lakeyde la ligne. - Sinon → ne rien faire.
cart_loaded (afin qu’un panier déjà éligible au chargement de la page reçoive le cadeau) et sur cart_updated (afin qu’elle réagisse à chaque modification ultérieure). Comme cart_loaded est rejoué pour les abonnés tardifs, cela fonctionne quel que soit le moment où votre script s’exécute.
Notez qu’ajouter le cadeau augmente le total du panier, donc un seuil proche du prix d’un produit peut osciller : ajouter un cadeau à $0 est sûr, mais un cadeau avec un prix pourrait à lui seul pousser le panier au-dessus du seuil. Gardez le cadeau gratuit, ou comparez avec un total qui l’exclut.
L’adapter
context, disponible avant le chargement du panier :
Une transformation de ligne ne peut pas masquer les contrôles de quantité d’une ligne. Ses seuls setters sont
setTitle, setVariantTitle, setHidden et setInternalProperties. Si un acheteur change la quantité du cadeau, corrigez-la plutôt depuis un gestionnaire cart_updated.Pour aller plus loin
- Bloc Rewards : la version sans code, avec des paliers.
- Actions :
addItem,removeItemet le reste. - Événements : pourquoi les garde-fous sont importants.