Spring til hovedindhold
Fejlfinding

Kurvskuffen viser gaven eller bundlet til fuld pris

Hvis din kurvskuffe viser en gave eller en bundle-vare til fuld pris, mens kurvtotalen og checkout er korrekte, skal du kontrollere, hvordan skuffen læser og opdaterer sine priser. Ældre Liquid-prisfelter kan udelade automatiske rabatter, og en skuffe kan også beholde et forældet øjebliksbillede af kurven. Denne artikel forklarer, hvordan du skelner mellem tilfældene.

Hurtigt tjek: Er totalen korrekt?

Før du ændrer noget, skal du bekræfte, hvor den forkerte pris faktisk vises:

  • Hvis prisen pr. linje i skuffen ser forkert ud, med fuld pris på en gave eller en rabatteret vare, men kurvens subtotal nederst i skuffen og checkout-totalen er korrekte, er dette kun et visningsproblem. Læs videre.
  • Hvis selve checkout-totalen er forkert, er det et andet problem, for eksempel at en anden rabatapp kombinerer rabatter, eller at rabatten ikke matcher. Denne artikel dækker ikke dette tilfælde.

Bundlex gengiver ikke din kurvskuffe. Rabatten anvendes af en Shopify-kurvrabatfunktion, der kører ved checkout, og Bundlex kan ikke omskrive et temas prisvisning pr. linje.

Hvorfor skuffen viser fuld pris

Bundlex anvender sin rabat gennem en Shopify-kurvrabatfunktion. Funktionen fordeler rabatten på kurvlinjerne, som Shopify behandler som en form for automatisk rabat.

Problemet ligger i den måde, nogle temaer gengiver hver kurvlinje på. Ældre eller brugerdefinerede kurvskuffer viser linjeprisen ved hjælp af Liquid-felterne line_item.price og line_item.line_price. Shopifys egen dokumentation markerer disse felter som forældede, fordi de ikke afspejler automatiske rabatter. Skuffen viser derfor den oprindelige pris uden rabat, selv om Shopify korrekt har registreret rabatten på linjen.

Det, kunderne ser: Hver linje i bundlet viser den samme fulde enhedspris, og en gratis linje, altså en gave, kan se ud, som om der bliver opkrævet betaling for den. Samtidig er subtotalen og checkout korrekte, fordi de beregnes ud fra de rabatterede værdier.

Bekræft det med /cart.js

Du kan bevise, at rabatten anvendes korrekt, uafhængigt af hvad skuffen viser:

  1. Tilføj bundlet, eller tilbuddet med den gratis gave, til kurven på webshoppen.
  2. Åbn /cart.js i browseren på den samme butik, for eksempel ved at besøge https://yourstore.com/cart.js.
  3. Find den berørte linje, og se på final_price og final_line_price.

For en fungerende linje med gratis gave vil du se noget i stil med final_price: 0 og final_line_price: 0, hvor rabatten er angivet under linjens discounts, tilbudstitlen og det rabatterede beløb. Kontrollér, hvilke felter din skuffe faktisk gengiver. Den forældelse, der er beskrevet ovenfor, gælder Liquid-felterne line_item.price og line_item.line_price. Et /cart.js-svar alene identificerer ikke skuffens datakilde.

Sådan fortolker du resultatet:

  • final_price / final_line_price afspejler rabatten, men skuffen viser fuld pris. Kontrollér både de felter, skuffen gengiver, og om den opdateres, efter kurven ændres.
  • final_price afspejler ikke rabatten. Problemet ligger så ikke i skuffens visning. Undersøg i stedet kurvfunktionens side, for eksempel om bundlet blev mærket korrekt, om rabattens metafelt er aktuelt, eller om regler for kundens berettigelse, såsom B2B eller kundemærker, gælder.

Løsningen: Brug final_price og final_line_price

Hvis kurvskuffens Liquid-udsnit bruger disse forældede felter til den aktuelle pris, skal du erstatte dem med deres final_-ækvivalenter:

  • line_item.price bliver til line_item.final_price
  • line_item.line_price bliver til line_item.final_line_price

Felterne final_ indeholder rabatter på linjeniveau. Hvis din skuffe bruger JavaScript, skal du også kontrollere, at den gengiver et nyt kurvsvar eller opdaterede temasektioner efter ændringer. Udskiftning af et prisfelt reparerer ikke et forældet øjebliksbillede.

Da værdien for price pr. linje er en statisk Liquid-attribut, kan Bundlex ikke omskrive den for dig. Rabatdataene findes allerede i final_price. Temaet skal blot læse dem.

Hvis du bruger en indbygget førpris

Hvis dine varianter også har en Shopify compare_at_price (en gennemstregning som "50% Off"), gengives dette mærke af temaet ud fra variantdataene og har ikke forbindelse til Bundlex-rabatten. Når du skifter til felterne final_, afspejler linjeprisen Bundlex-rabatten, mens en eventuel gennemstregning af førprisen fortsat vises, som dit tema er konfigureret til.

Det andet tilfælde: en tilbageværende gavelinje til 0 $

Et relateret, men separat symptom: En kunde vælger et tilbud, der inkluderer en gratis gave, og reducerer derefter hovedvarens antal til under tilbudsgrænsen. Hovedlinjen skifter korrekt til et lavere trin, men en linje med en gratis gave bliver i kurven og viser 0 $.

Her er årsagen. Når antallet falder under grænsen, stopper kurvfunktionen korrekt med at give rabat og fjerner tildelingen. Men en Shopify-kurvfunktion kan ikke fjerne en kurvlinje (der findes ingen tilgængelig fjernelseshandling). For en gratis gave, der er konfigureret som en katalogvariant til 0 $, er der ingen pris at "vende tilbage til", så den nu ikke-kvalificerede gavelinje bliver ganske enkelt stående til 0 $.

For at håndtere dette inkluderer Bundlex en oprydning på widget-siden, som kører efter en ændring af kurven og fjerner den forældreløse gavelinje. Der er betingelser for, hvornår den kan køre:

  • Kun gratis gaver. Betalte ekstraydelser håndteres af bundleintegriteten, ikke af denne oprydning.
  • Understøttede stier ved ændring af kurven. Mens en komplet Bundlex-widget er aktiv, håndterer oprydningen både fetch- og XHR-ændringer af kurven. På sider, der kun kører scriptet til oprydning af gaver uden en widget, dækker aflytningen kun fetch-ændringer. Temaets opdateringsadfærd kan stadig påvirke, hvad skuffen viser.
  • Oprydning udføres efter bedste evne. Hvis et trin mislykkes, kan gavelinjen forblive synlig indtil næste interaktion med kurven.

Efter fjernelse af en linje udsender Bundlex hændelser til opdatering af kurven for at få temaet til at gengive den igen. På Dawn og de gratis Shopify-temaer, der er bygget på det, tegner Bundlex også kurvskuffen, kurvsiden og selve antallet på kurvikonet igen. Der findes ikke én enkelt hændelse for opdatering af kurven, som alle Shopify-temaer implementerer, så i andre temaer, der ikke lytter efter disse hændelser, kan skuffen forblive forældet indtil næste interaktion. Det vigtigste punkt er: Kurvens beregning er altid korrekt. Kunden bliver ikke opkrævet for den tilbageværende linje til 0 $, og totalen ved checkout er korrekt, uanset hvad skuffen midlertidigt viser.

Opsummering

  • Skuffen viser fuld pris, men totalen og checkout er korrekte: Kontrollér, om der bruges forældede Liquid-prisfelter eller forældede kurvdata.
  • Bekræft med /cart.js: final_price / final_line_price afspejler rabatten.
  • Ret det i temaet: Skift disse felter til final_price og final_line_price.
  • En tilbageværende gavelinje til 0 $ efter reduktion af antallet er forventelig (Shopify kan ikke fjerne linjer). Bundlex rydder den op i understøttede temaer, og prisen er altid korrekt ved checkout.

Var denne artikel nyttig?

Din feedback hjælper os med at forbedre vores dokumentation.

Tak - vi fortsætter med at forbedre denne artikel.

Vil du chatte med vores team? Har du stadig et spørgsmål?

Har du stadig brug for hjælp?

Vores team er kun ét klik væk. Send os en besked, så vender vi tilbage til dig.

Vi bruger nogle få cookies til at holde dette websted kørende, måle, hvordan det bruges, og aktivere vores chatwidget, når du åbner den. Se vores cookiepolitik.