Temos +/- kiekio mygtukai nekeičia pasirinkto pasiūlymo
Jei temos kiekio mygtukai nekeičia pasirinkto pasiūlymo, pirmiausia patikrinkite, kokį kiekio valdiklį naudoja jūsų nuolaida. Įvesto kiekio sumažinimas iki pakopos skiriasi nuo mygtuko, kuris niekada nesiunčia valdikliui atnaujinimo.
Įvedžiau 8, bet į krepšelį pateko 6
Įprastoje sąrankoje be Bundlex kiekio parinkiklio temos įvesties laukas naršo tarp sukonfigūruotų pakopų. Tikslus pakopos kiekis gali pasirinkti tą kortelę, o tarpinis kiekis gali palikti pasirinktą dabartinį pasiūlymą. Tada pridėjimo į krepšelį veiksmas naudoja to pasiūlymo kiekį. Įvedus 8, kai pasirinkta „Pirkti 6“, nebūtinai bus pridėtos 8 prekės.
Kad pirkėjai galėtų pasirinkti lanksčius kiekius, nuolaidos Papildomų prekių skirtuke, jei ši parinktis pasiekiama, įjunkite Kiekio parinkiklį. Jis veikia kartu su prenumeratomis. Jei parinkiklis išjungtas, valdymo skydelyje nurodomas jį blokuojantis nustatymas. Žr. nustatymus, su kuriais jo negalima derinti.
Kai aktyvus Bundlex parinkiklis, temos įvesties laukas atspindi jo rezultatą, o ne valdo antrą kiekį. Kai kuriose parduotuvėse naudojama atskira pagalbos komandos įjungta vietinio kiekio valdymo sąranka paprastoms pakopoms. Tai nėra numatytoji parinktis. Žr. temos kiekio veikimą.
Jei pasirenkamas pasiūlymas neprivalomas ir nepasirinktas joks pasiūlymas, temos valdikliai veikia įprastai ir nenaršo tarp pasiūlymų kortelių. Toliau pateikiami patikrinimai taikomi aktyviam pasiūlymui pakopų naršymo sąrankoje.
Kaip turėtų veikti sinchronizavimas
Reikia atsižvelgti į dvi kryptis:
- Nuo pasiūlymo prie kiekio: kai pirkėjas spusteli pasiūlymą, pavyzdžiui, „Pirkti 1“, „Pirkti 2“ arba „Pirkti 3“, valdiklis nustato temos kiekio įvesties lauko reikšmę į to pasiūlymo kiekį. Tai priklauso nuo to, ar Bundlex randa tinkamą kiekio įvesties lauką.
- Nuo kiekio prie pasiūlymo: kai pirkėjas pakeičia kiekį temos +/- mygtukais arba įvesdamas skaičių, valdiklis turėtų aptikti naują reikšmę ir pasirinkti pasiūlymą, kurio kiekis tiksliai sutampa.
Antroji kryptis gali sutrikti, kai tema pakeičia įvesties reikšmę neišsiųsdama įvykio arba kai valdiklis stebi kitą kiekio įvesties lauką. Vien nepakopinis skaičius neįrodo įvykio problemos ir negarantuoja, kad pasiūlymo pasirinkimas bus panaikintas.
Kodėl +/- mygtukai neatnaujina pasiūlymo
Valdiklis stebi vietinius change ir input įvykius kiekio įvesties lauke. Įprastai įvedant tekstą šie įvykiai suaktyvinami, tačiau pasirinktiniai temos +/- mygtukai gali jų nesuaktyvinti.
Tačiau daugelis temų savo +/- mygtukus įgyvendina tiesiogiai nustatydamos įvesties reikšmę naudodamos JavaScript, pavyzdžiui, input.value = newValue. Taip priskyrus reikšmę ne suaktyvinami change arba input įvykiai. Skaičius ekrane pasikeičia, tačiau įvykis neišsiunčiamas, todėl valdiklis nesužino, kad kiekis pasikeitė, o pasirinktas pasiūlymas lieka tas pats.
Tai nesusiję su konkrečia sistema. Bet koks programinis reikšmės priskyrimas praleidžia šiuos įvykius. Juos suaktyvina tik tikra naudotojo sąveika, pavyzdžiui, įvedimas klaviatūra. Shopify
<quantity-input>pasirinktiniu elementu pagrįstos temos, naudojamos „Dawn“, atnaujinusios reikšmę išsiunčiachangeįvykį, todėl tokios temos veikia iš karto.
Kaip patvirtinti, kad tai yra priežastis
- Atidarykite naršyklės kūrėjo įrankius, paspausdami F12 arba „Mac“ kompiuteryje Cmd+Option+I, ir eikite į skirtuką „Console“.
- Produkto puslapyje spustelėkite +/- mygtuką.
- Išbandykite kiekį, tiksliai atitinkantį pasiekiamą pasiūlymą. Jei skaičius pasikeičia, bet pasirinktas pasiūlymas ne, paprašykite temos kūrėjo patikrinti, ar mygtukas siunčia change arba input įvykį tame kiekio įvesties lauke, kurį stebi Bundlex.
Temose, kurioms dažniausiai kyla ši problema, naudojami pasirinktiniai +/- mygtukai, kurie reikšmę nustato tiesiogiai, o ne Shopify <quantity-input> žiniatinklio komponentas.
Sprendimas: išsiųskite change įvykį
Šis sprendimas taikomas temoje, todėl ją prižiūrinčiam asmeniui tai bus greitas pakeitimas. Paprašykite temos kūrėjo išsiųsti change įvykį iškart po to, kai +/- apdorojimo funkcija nustato naują kiekio reikšmę:
input.dispatchEvent(new Event('change', { bubbles: true }));
Čia input yra atnaujinamas kiekio įvesties elementas. Taip informuojami scenarijai, kurie klausosi šio įvykio, įskaitant Bundlex. Po pakeitimo išbandykite temos kiekio mygtukus ir krepšelį.
Pasikartojančios kiekio įvesties atvejis, prilipusios krepšelio juostos
Kai kurios temos prideda prilipusią arba fiksuotą „Į krepšelį“ juostą, kuri dubliuoja produkto formą, įskaitant antrą kiekio įvestį. Abi įvestys dažnai turi tą patį name="quantity", o kartais net ir tą patį id. Tokiu atveju numatytasis Bundlex parinkiklis, input[name="quantity"], gali būti pritaikytas ne tai įvesčiai, todėl pasiūlymo ir pagrindinės formos kiekiai nesutampa.
Kaip patvirtinti, kad yra pasikartojančių įvesčių
- Atidarykite kūrėjo įrankius ir eikite į konsolės skirtuką.
- Paleiskite:
document.querySelectorAll('input[name="quantity"]').length - Jei rezultatas didesnis nei 1, jūsų puslapyje yra daugiau nei viena kiekio įvestis.
Sprendimas: pasirinktinis kiekio įvesties parinkiklis
Nurodykite Bundlex tik pagrindinės formos kiekio įvestį, neįtraukdami prilipusios juostos. Susisiekite su palaikymo komanda ir pateikite produkto URL, kad būtų pritaikytas naujas parinkiklio sprendimas. Palaikymo komanda gali jį sukonfigūruoti parduotuvės valdiklio nustatymuose. Jei reikia patikrinti seną parinkiklį, kuris jau išsaugotas programos įterpime, jo vieta yra:
- Shopify administravimo skydelyje atidarykite temų rengyklę.
- Eikite į programų įterpinius ir raskite Bundlex Bundles.
- Įjunkite Rodyti išplėstinius nustatymus, tada laukelyje Kiekio įvesties parinkiklis nustatykite parinkiklį, kuris taikomas tik pagrindinės formos kiekio įvesčiai.
Tikslus parinkiklis priklauso nuo jūsų temos. Štai du pavyzdžiai, kurie veikia kai kuriose temose:
.product-form__item--submit input[name="quantity"]
form.shopify-product-form:not(#addtocart-sticky form) input[name="quantity"]
Jei nė vienas parinkiklis jūsų temoje neveikia, pasidalykite produkto puslapio URL su palaikymo komanda, kad būtų galima nustatyti tinkamą parinkiklį. Jei palaikymo komanda anksčiau sukonfigūravo perrašymą, jis gali turėti pirmenybę prieš temos laukelio reikšmę.
Kada kreiptis pagalbos
Jei patvirtinote, kad +/- mygtukai pakeičia reikšmę nesukeldami įvykio arba kad yra pasikartojančių kiekio įvesčių, o pirmiau pateikti sprendimai problemos neišsprendė, susisiekite su palaikymo komanda ir pateikite produkto puslapio URL. Taip pat naudinga pridėti visus [Bundlex] pranešimus iš naršyklės konsolės ir produkto formos HTML kodą.
Ar šis straipsnis buvo naudingas?
Jūsų atsiliepimai padeda mums tobulinti dokumentaciją.