Hoppa till huvudinnehållet
Felsökning

Temats knappar för +/- ändrar inte det valda erbjudandet

Om temats knappar för antal inte ändrar det valda erbjudandet kontrollerar du först vilken mängdkontroll rabatten använder. Att ett angivet antal reduceras till en nivå skiljer sig från en knapp som aldrig skickar en uppdatering till widgeten.

Jag angav 8, men kundvagnen fick 6

I den vanliga konfigurationen utan Bundlex egen kvantitetsväljare navigerar temats inmatningsfält mellan konfigurerade nivåer. Ett exakt antal för en nivå kan välja det kortet, medan ett antal mellan två nivåer kan låta det aktuella erbjudandet vara valt. När kunden lägger i kundvagnen används då erbjudandets antal. Om du anger 8 när Köp 6 är valt garanteras inte 8 varor.

Om du vill låta kunder välja flexibla antal aktiverar du Kvantitetsväljare på rabattens flik Tillägg, när alternativet är tillgängligt. Den fungerar tillsammans med prenumerationer. Om den är inaktiverad visar instrumentpanelen vilken inställning som blockerar den. Se inställningar som inte kan kombineras med den.

När Bundlex kvantitetsväljare är aktiv visar temats inmatningsfält resultatet från väljaren i stället för att styra en andra mängd. Vissa butiker har en separat konfiguration, aktiverad av supporten, för inbyggd kvantitet på vanliga nivåer. Det är inte standard. Se temats beteende för antal.

Om val av erbjudande är valfritt och inget erbjudande är valt fungerar temats kontroller normalt och navigerar inte mellan erbjudandekorten. Kontrollerna nedan gäller ett aktivt erbjudande i konfigurationen med nivånavigering.

Så ska synkroniseringen fungera

Det finns två riktningar att hålla reda på:

  • Erbjudande till antal: när en kund klickar på ett erbjudande, till exempel Köp 1, Köp 2 eller Köp 3, ställer widgeten in temats inmatningsfält för antal på erbjudandets antal. Detta beror på att Bundlex hittar rätt inmatningsfält för antal.
  • Antal till erbjudande: när en kund ändrar antalet med temats knappar för +/- eller genom att skriva, ska widgeten upptäcka det nya värdet och välja det erbjudande vars antal matchar exakt.

Den andra riktningen kan sluta fungera när temat ändrar inmatningsfältet utan att skicka en händelse eller när widgeten bevakar ett annat inmatningsfält för antal. Ett antal som inte motsvarar en nivå bevisar inte i sig att det är ett händelseproblem och garanterar inte att erbjudandet avmarkeras.

Varför knapparna för +/- inte uppdaterar erbjudandet

Widgeten lyssnar efter de inbyggda change- och input-händelserna på inmatningsfältet för antal. När du skriver utlöses normalt dessa händelser, men det kanske inte sker när temat använder en anpassad knapp för +/-.

Många teman implementerar dock sina knappar för +/- genom att ställa in inmatningsfältets värde direkt i JavaScript, till exempel input.value = newValue. En sådan värdetilldelning utlöser inte händelserna change eller input. Siffran ändras på skärmen, men ingen händelse skickas, så widgeten får aldrig veta att antalet ändrades och det valda erbjudandet förblir oförändrat.

Detta gäller inte bara ett visst ramverk. Alla programmatiska värdetilldelningar hoppar över händelserna. Endast verklig användarinteraktion, som att skriva, utlöser dem. Teman som bygger på Shopifys anpassade element <quantity-input>, som används av Dawn, skickar en change-händelse efter att värdet har uppdaterats, vilket är anledningen till att dessa teman fungerar direkt.

Så bekräftar du att detta är orsaken

  1. Öppna webbläsarens utvecklarverktyg, F12 eller Cmd+Option+I på Mac, och gå till fliken Console.
  2. Klicka på en knapp för +/- på produktsidan.
  3. Prova ett antal som exakt matchar ett tillgängligt erbjudande. Om siffran ändras men det valda erbjudandet inte gör det, ber du temats utvecklare kontrollera om knappen skickar en change- eller input-händelse på det inmatningsfält för antal som Bundlex bevakar.

Teman som ofta påverkas använder anpassade +/- knappar som ställer in värdet direkt, i stället för Shopifys <quantity-input>-webbkomponent.

Lösningen: skicka en change-händelse

Den här lösningen görs i temat, så det är en snabb ändring för den som underhåller temats kod. Be din temautvecklare att skicka en change-händelse direkt efter att hanteraren för +/- knapparna har ställt in det nya kvantitetsvärdet:

input.dispatchEvent(new Event('change', { bubbles: true }));

Här är input kvantitetsinmatningen som uppdateras. Detta meddelar skript som lyssnar efter den händelsen, inklusive Bundlex. Testa temats kvantitetsknappar och kundvagnen efter ändringen.

Fallet med dubbla kvantitetsinmatningar, klistrade kundvagnsfält

Vissa teman lägger till ett klistrat eller fast "Lägg i kundvagn"-fält som duplicerar produktformuläret, inklusive en andra kvantitetsinmatning. Båda inmatningarna delar ofta samma name="quantity" och ibland även samma id. Bundlex standardväljare, input[name="quantity"], kan då kopplas till fel inmatning, så erbjudandet och huvudformulärets kvantitet inte stämmer överens.

Så bekräftar du att det finns dubbletter

  1. Öppna utvecklarverktygen och gå till fliken Konsol.
  2. Kör: document.querySelectorAll('input[name="quantity"]').length
  3. Om resultatet är större än 1 har sidan mer än en kvantitetsinmatning.

Lösningen: en anpassad väljare för kvantitetsinmatning

Ange för Bundlex endast huvudformulärets kvantitetsinmatning och uteslut det klistrade fältet. Kontakta supporten med produktens URL för att få hjälp med en ny väljare. Supporten kan konfigurera den i butikens widgetinställningar. Om du behöver granska en äldre väljare som redan har sparats i appinbäddningen finns den här:

  1. Öppna Temaredigeraren i Shopify-admin.
  2. Gå till Appinbäddningar och hitta Bundlex Bundles.
  3. Aktivera Visa avancerade inställningar och ange sedan Väljare för kvantitetsinmatning till en väljare som endast riktar in sig på huvudformulärets kvantitetsinmatning.

Den exakta väljaren beror på ditt tema. Två exempel som fungerar med vissa teman:

.product-form__item--submit input[name="quantity"]
form.shopify-product-form:not(#addtocart-sticky form) input[name="quantity"]

Om ingen av väljarna fungerar med ditt tema kan du dela produktsidans URL med supporten, så att rätt väljare kan identifieras. Om supporten tidigare har konfigurerat en åsidosättning kan den ha företräde framför temafältet.

När du bör kontakta supporten

Om du har bekräftat att +/- knapparna ändrar värdet utan att utlösa en händelse, eller att det finns dubbla kvantitetsinmatningar, och lösningarna ovan inte löser problemet, kontaktar du supporten med produktsidans URL. Det är också bra att inkludera eventuella [Bundlex]-meddelanden från webbläsarens konsol och HTML-koden för produktformuläret.

Var den här artikeln till hjälp?

Din feedback hjälper oss att förbättra vår dokumentation.

Tack, vi fortsätter att förbättra den här artikeln.

Vill du chatta med vårt team? Har du fortfarande en fråga?

Behöver du fortfarande hjälp?

Vårt team finns bara ett klick bort. Skicka ett meddelande så återkommer vi.

Vi använder några cookies för att hålla webbplatsen fungerande, mäta hur den används och driva vår chattwidget när du öppnar den. Se vår cookiepolicy.