Przyciski ilości +/- motywu nie zmieniają wybranej oferty
Jeśli przyciski ilości motywu nie zmieniają wybranej oferty, najpierw sprawdź, której kontroli ilości używa Twój rabat. Ilość wpisana ręcznie i zredukowana do progu to inna sytuacja niż przycisk, który nigdy nie wysyła aktualizacji do widżetu.
Wpisałem 8, ale koszyk otrzymał 6
W typowej konfiguracji bez własnego selektora ilości Bundlex pole motywu nawiguje między skonfigurowanymi progami. Dokładna ilość progu może wybrać tę kartę, natomiast ilość pomiędzy progami może pozostawić wybraną bieżącą ofertę. Dodanie do koszyka użyje wtedy ilości tej oferty. Wpisanie 8 przy wybranej opcji Kup 6 nie gwarantuje dodania 8 produktów.
Aby umożliwić kupującym wybór elastycznych ilości, włącz Selektor ilości na karcie Dodatki rabatu, jeśli opcja jest dostępna. Działa ona razem z subskrypcjami. Jeśli jest wyłączona, panel administracyjny wyświetla nazwę ustawienia, które ją blokuje. Zobacz ustawienia, z którymi nie można jej łączyć.
Gdy aktywny jest selektor Bundlex, pole motywu odzwierciedla jego wynik, zamiast sterować drugą ilością. Niektóre sklepy mają osobną konfigurację natywnej ilości włączoną przez zespół pomocy technicznej dla zwykłych progów. Nie jest to ustawienie domyślne. Zobacz działanie ilości w motywie.
Jeśli opcja wyboru oferty jest włączona, ale nie wybrano żadnej oferty, elementy sterujące motywu działają normalnie i nie przechodzą między kartami ofert. Poniższe kontrole dotyczą aktywnej oferty w konfiguracji nawigacji między progami.
Jak powinna działać synchronizacja
Należy pamiętać o dwóch kierunkach synchronizacji:
- Oferta na ilość: gdy kupujący kliknie ofertę, na przykład Kup 1, Kup 2 lub Kup 3, widżet ustawia w polu ilości motywu ilość przypisaną do tej oferty. Zależy to od znalezienia przez Bundlex właściwego pola ilości.
- Ilość na ofertę: gdy kupujący zmieni ilość za pomocą przycisków +/- motywu lub wpisując ją ręcznie, widżet powinien wykryć nową wartość i wybrać ofertę, której ilość dokładnie jej odpowiada.
Drugi kierunek może przestać działać, gdy motyw zmienia wartość pola bez wysłania zdarzenia albo gdy widżet obserwuje inne pole ilości. Sama liczba spoza progów nie dowodzi problemu ze zdarzeniem i nie gwarantuje anulowania wyboru oferty.
Dlaczego przyciski +/- nie aktualizują oferty
Widżet nasłuchuje natywnych zdarzeń change i input na polu ilości. Wpisywanie wartości zwykle wywołuje te zdarzenia, ale niestandardowy przycisk +/- motywu może tego nie robić.
Wiele motywów implementuje jednak przyciski +/- przez bezpośrednie ustawianie wartości pola za pomocą JavaScriptu, na przykład input.value = newValue. Takie przypisanie wartości nie wywołuje zdarzeń change ani input. Liczba zmienia się na ekranie, ale nie jest wysyłane żadne zdarzenie, więc widżet nie dowiaduje się o zmianie ilości, a wybrana oferta pozostaje bez zmian.
Nie dotyczy to tylko jednego frameworka. Każde programowe przypisanie wartości pomija te zdarzenia. Wywołuje je tylko rzeczywista interakcja użytkownika, na przykład wpisywanie wartości. Motywy oparte na niestandardowym elemencie Shopify
<quantity-input>używanym przez Dawn wysyłają zdarzeniechangepo zaktualizowaniu wartości, dlatego działają od razu po instalacji.
Jak potwierdzić, że to jest przyczyna
- Otwórz narzędzia deweloperskie przeglądarki, naciskając F12 lub Cmd+Option+I na komputerze Mac, i przejdź do karty Console.
- Kliknij przycisk +/- na stronie produktu.
- Wypróbuj ilość dokładnie odpowiadającą dostępnej ofercie. Jeśli liczba się zmieni, ale wybrana oferta nie, poproś twórcę motywu o sprawdzenie, czy przycisk wysyła zdarzenie change lub input do obserwowanego przez Bundlex pola ilości.
Motywy, w których często występuje ten problem, używają niestandardowych przycisków +/- ustawiających wartość bezpośrednio, zamiast komponentu internetowego Shopify <quantity-input>.
Rozwiązanie: wywołaj zdarzenie change
To rozwiązanie dotyczy motywu, więc osoba odpowiedzialna za kod motywu może szybko je wdrożyć. Poproś dewelopera motywu o wywołanie zdarzenia change zaraz po tym, jak procedura obsługi przycisków +/- ustawi nową wartość ilości:
input.dispatchEvent(new Event('change', { bubbles: true }));
Tutaj input to aktualizowany element pola ilości. Powiadamia to skrypty nasłuchujące tego zdarzenia, w tym Bundlex. Po wprowadzeniu zmiany przetestuj przyciski ilości w motywie i koszyk.
Przypadek zduplikowanego pola ilości, przyklejone paski koszyka
Niektóre motywy dodają przyklejony lub stały pasek „Dodaj do koszyka”, który duplikuje formularz produktu, w tym drugie pole ilości. Oba pola często mają ten sam name="quantity", a czasami nawet to samo id. Domyślny selektor Bundlex, input[name="quantity"], może wtedy zostać przypisany do niewłaściwego pola, przez co oferta i ilość w głównym formularzu nigdy nie będą zgodne.
Jak potwierdzić, że pola są zduplikowane
- Otwórz narzędzia deweloperskie i przejdź do karty Console.
- Uruchom:
document.querySelectorAll('input[name="quantity"]').length - Jeśli wynik jest większy niż 1, strona zawiera więcej niż jedno pole ilości.
Rozwiązanie: niestandardowy selektor pola ilości
Wskaż w Bundlex wyłącznie pole ilości w głównym formularzu, z pominięciem przyklejonego paska. Skontaktuj się z pomocą techniczną i podaj adres URL produktu, aby uzyskać poprawkę z nowym selektorem. Pomoc techniczna może skonfigurować go w ustawieniach widżetu sklepu. Jeśli chcesz sprawdzić starszy selektor zapisany już w osadzeniu aplikacji, znajdziesz go tutaj:
- W panelu administracyjnym Shopify otwórz Edytor motywu.
- Przejdź do Osadzenia aplikacji i znajdź Bundlex Bundles.
- Włącz Pokaż ustawienia zaawansowane, a następnie ustaw Selektor pola ilości na selektor wskazujący wyłącznie pole ilości w głównym formularzu.
Dokładny selektor zależy od motywu. Oto dwa przykłady działające w niektórych motywach:
.product-form__item--submit input[name="quantity"]
form.shopify-product-form:not(#addtocart-sticky form) input[name="quantity"]
Jeśli żaden z selektorów nie działa w Twoim motywie, udostępnij pomocy technicznej adres URL strony produktu, aby można było zidentyfikować właściwy selektor. Jeśli pomoc techniczna wcześniej skonfigurowała zastąpienie, może ono mieć pierwszeństwo przed polem motywu.
Kiedy skontaktować się z pomocą techniczną
Jeśli potwierdzisz, że przyciski +/- zmieniają wartość bez wywoływania zdarzenia lub że istnieją zduplikowane pola ilości, a powyższe rozwiązania nie pomogą, skontaktuj się z pomocą techniczną i podaj adres URL strony produktu. Warto również dołączyć wszelkie komunikaty [Bundlex] z konsoli przeglądarki oraz kod HTML formularza produktu.
Czy ten artykuł był pomocny?
Twoja opinia pomaga nam ulepszać dokumentację.