Skip to main content
Overvåg kurvtotalen og hold en gratis gave synkroniseret med den: tilføj gaven, når kunden krydser en forbrugstærskel, og fjern den, hvis de falder tilbage under.
For en forhandler-konfigureret version med niveauer, per-marked-regler og en progressbar skal du bruge Rewards-blokken, helt uden kode. Dette er til, når din regel er noget, blokken ikke kan udtrykke.

Snippet’et

Indsæt i Cart settings → Custom script → Initialization, og sæt de to konstanter:

Sådan virker det

reconcileGift beskriver den tilstand, kurven bør være i, og laver derefter højst én ændring for at nå dertil:
  • Kvalificerer og gaven er der ikke → addItem tilføjer den.
  • Kvalificerer ikke og gaven er der → removeItem fjerner den, via linjens key.
  • Ellers → gør ingenting.
Den kører både på cart_loaded (så en kurv, der allerede kvalificerer ved sideindlæsning, får gaven) og cart_updated (så den reagerer på hver ændring derefter). Fordi cart_loaded afspilles igen til sene abonnenter, virker dette uanset hvornår dit script kører.
!gift- / gift-guardsene er det, der forhindrer dette i at loope. At tilføje gaven fyrer cart_updated, som kører reconcileGift igen, og den anden gennemgang finder gaven allerede til stede, så den gør ingenting. Fjern guardsene, og du får et uendeligt loop. Se de to regler.
Bemærk, at tilføjelse af gaven hæver kurvtotalen, så en tærskel nær et produkts pris kan svinge: at tilføje en gave til $0 er sikkert, men en gave med en pris kan selv skubbe kurven over tærsklen. Hold gaven gratis, eller sammenlign mod en total, der ekskluderer den.

Tilpas det

Baser på antal varer i stedet for forbrug:
Baser på at et bestemt produkt er i kurven:
Kun i visse lande. Læs context, som er tilgængelig, før kurven indlæses:
Ekskludér gaven fra tærsklen, så den ikke kan holde sig selv oppe:
Markér gaven, så den fremstår som en gave. En line transform kan ændre en linjes titel, varianttitel, skjulte tilstand og interne properties — så omdøb den:
En line transform kan ikke skjule en linjes antalsvælgere — dens eneste settere er setTitle, setVariantTitle, setHidden og setInternalProperties. Hvis en kunde ændrer gavens antal, så ret det fra en cart_updated-handler i stedet.

Hvor du kan gå hen herfra