Hvad interception gør
Aftersell lytter efter add to cart-submit før temaet gør. Når den genkender en, gør den:- Stopper eventet, så intet andet på siden håndterer det klik.
- Sender selv tilføjelsen til Shopify.
- Åbner Aftersell Cart-draweren.
Hvorfor det findes
Uden det reagerer begge kurve på det samme klik. Temaet tilføjer varen og åbner sin egen drawer, Aftersell tilføjer den og åbner vores, og kunden ser to kurve, ofte med varen tilføjet to gange. At stoppe eventet er den enkleste måde at garantere én tilføjelse og én kurv.Hvad det koster
At stoppe eventet stopper det for alle, ikke kun temaet. Enhver anden kode, der lytter til den samme add to cart, holder op med at køre: dine analytics, en tracking-pixel, en abonnements- eller bundle-app, et script du selv har tilføjet. Det fejler stille. Intet vises i browserkonsollen, og selve tilføjelsen virker stadig, så det sædvanlige symptom er et forkert tal frem for noget synligt ødelagt:add_to_cart-events mangler fra GA4, Meta eller TikTok- En abonnements- eller bundle-app, der virker på produktsiden, men ikke gennem kurven
- Din egen
addEventListenerpå formularen fyrer aldrig
Når Aftersell ikke opsnapper
Interception er ikke altid slået til. Aftersell lader add to cart være i fred, når:- Den genkender dit temas kurv. På temaer, Aftersell ved, hvordan man arbejder med, gør den temaets egen kurv inert i stedet for at blokere eventet og lader så temaet udføre tilføjelsen normalt. Dine scripts kører som altid. Se Hvilke temaer nedenfor.
- Formularen tilføjer ikke en line item. En formular uden variant
idog udenitems[]lades i fred. - Du har fritaget ved brug af en af metoderne nedenfor.
Hvilke temaer Aftersell genkender
Aftersell matcher på hvordan et tema er bygget, ikke på dets navn, så et brugerdefineret tema forkloned fra et af disse genkendes normalt også, inklusive private builds, som Aftersell aldrig har set.
Det modsatte sker også: en kraftigt tilpasset build kan drive så langt fra sit ophav, at Aftersell ikke længere genkender den, selv om temaet stadig hedder “Dawn”. At stå på denne liste gør genkendelse sandsynlig, ikke sikker.
Dine muligheder
Vælg den smalleste, der løser dit problem. Hver række giver mere op end den ovenfor.Før du vælger: hvad der ændrer sig
At fritage giver tilføjelsen tilbage til dit tema, hvilket rejser to spørgsmål værd at besvare, før du vælger en række: om din kurv stadig åbner, og om temaets kurv dukker op ved siden af den.Åbner din kurv stadig?
Normalt ja, uden arbejde fra din side. Uanset hvem der udfører tilføjelsen, holder Aftersell øje med anmodningen, der går til Shopify, og åbner draweren, når den ser en, i overensstemmelse med din normale Open cart when an item is added-indstilling. Du behøver ikke kalde noget selv. Tre situationer bryder det, og alle tre har en løsning: Tilføjelsen går et andet sted hen end Shopifys kurv-endpoints. Aftersell holder øje med/cart/add, /cart/change, /cart/update og /cart/clear på dit eget domæne. En app, der tilføjer gennem sit eget endpoint og synkroniserer kurven bagefter, er ikke synlig for dette. Åbn selv kurven, når appens tilføjelse er færdig:
open_on_add_to_cart: 'never', åbner intet draweren. Det virker som konfigureret.
Åbner temaets kurv også?
Det er den risiko, fritagelserne bærer, og svaret afhænger af dit tema. At gøre temaets kurv inert er adskilt fra interception og sker ved sideindlæsning uanset hvad, så ingen af fritagelserne her slår det til igen. På et tema fra den genkendte liste forbliver temaets egen kurv stille, og kunden ser én kurv, din. På et tema, Aftersell ikke genkender, er der intet, der holder temaets kurv tilbage. At fritage betyder, at temaet håndterer tilføjelsen præcis, som det altid har gjort, herunder at åbne sin egen drawer eller viderestille til/cart, mens Aftersell åbner sin drawer ud fra den anmodning, den så. Det er to kurve, og det er grunden til, at interception findes i første omgang.
Hvis det sker, har du tre valg: lad interception være slået til for den formular, brug en smallere fritagelse, der ikke dækker de formularer, der forårsager det, eller stop temaets egen kurv selv i din temakode.
Dette gælder kun add to cart. At få cart-ikonet til at omgå Aftersell med klassen
aftersell-cart-wont-open-cart er noget andet: et klik på cart-ikonet sender ingen anmodning, så der er intet for Aftersell at holde øje med, og draweren vil ikke åbne. Se nedenfor.Pr. formular: en regel i kode
Den foretrukne mulighed. Registrér en regel, der returnerertrue for de formularer, du vil have i fred:
true, springer den formular over. Fulde detaljer i Hooks.
Pr. formular: en klasse i dit tema
Hvis du hellere vil undgå at skrive en regel, tilføj klassenaftersell-cart-skip-atc i dit tema:
For en formular-submit skal klassen ligge på selve form-elementet. En overordnet
div virker ikke. For en knap, der tilføjer til kurven uden en formular-submit, kan klassen ligge på knappen eller ethvert element omkring den.Hele butikken: slå interception fra
Den bombastiske mulighed. Add to cart opfører sig præcis, som dit tema oprindeligt gjorde, på hver formular:Cart-ikonet er adskilt
Cart-ikonet i din header håndteres af sin egen interceptor med sin egen fritagelse. At slå add to cart-interception fra ændrer ikke, hvad cart-ikonet gør, og omvendt gælder også. At klikke på cart-ikonet åbner Aftersell-draweren i stedet for at gå til/cart. For at lade ét ikon eller én knap være i fred, tilføj klassen aftersell-cart-wont-open-cart til den, eller til ethvert element omkring den:
/cart. Fulde detaljer i Configure.
For at ændre hvilke elementer der åbner kurven i stedet for at slå dem fra, brug Cart settings → Advanced → Cart icon selector i stedet for at redigere dit tema.
Hvor du kan gå hen herfra
- Configure: hver SDK-mulighed, herunder dem, der refereres til her.
- Hooks: kontrol pr. formular og pr. linje.
- Åbn draweren fra en page builder: til Replo, PageFly, GemPages og brugerdefinerede knapper, der tilføjer til kurven på deres egen måde.