PS PrestaShop Początkujący

Zmiana Wariantu w Koszyku PrestaShop: instalacja i konfiguracja

Instalacja i konfiguracja zmiany kombinacji w koszyku: tryby wyświetlania, stan magazynowy, kontrole po stronie serwera, historia i integracja z motywem.

Zaktualizowano Wersja modułu 1.0.0

Przegląd

Moduł pozwala klientowi zmienić kombinację produktu (rozmiar, kolor lub inny atrybut) bezpośrednio na stronie koszyka, bez usuwania wiersza. Nowa kombinacja zachowuje ilość, adres dostawy i pozycję wiersza. Stan magazynowy i minimalna ilość są sprawdzane przez serwer przed zamianą.

Instalacja

  1. W Moduły > Menedżer modułów kliknij Załaduj moduł i wyślij plik dfcartcombination-1.0.0.zip.
  2. Moduł podpina się pod hooki displayCartExtraProductActions i actionFrontControllerSetMedia oraz tworzy tabelę ps_dfcartcombination_log na potrzeby historii.
  3. Otwórz konfigurację modułu. Domyślnie wszystko jest włączone, w trybie przycisku z oknem.
  4. Dodaj do koszyka produkt z co najmniej dwiema kombinacjami i otwórz stronę koszyka, aby sprawdzić wyświetlanie. Jeśli nic się nie pojawia, wyczyść pamięć podręczną w Zaawansowane > Wydajność.

Ustawienia

  • Włącz moduł: po wyłączeniu na stronie koszyka nic nie jest ładowane.
  • Tryb wyświetlania: Przycisk z oknem wyboru (jeden link „Zmień” na wiersz) lub Listy rozwijane w wierszu koszyka (jedna lista na grupę atrybutów, zmiana stosowana od razu po wyborze).
  • Umieść pod atrybutami produktu: przenosi selektor pod atrybuty wiersza. Wyłącz, aby zostawić go tam, gdzie motyw wywołuje hook, zwykle w kolumnie akcji obok kosza.
  • Pokaż cenę dla każdej kombinacji: cena wybranej kombinacji, przekreślona cena przy rabacie i różnica względem bieżącego wiersza. Cena jest zgodna z wyświetlaniem brutto lub netto dla grupy klienta.
  • Pokaż stan magazynowy: W magazynie, Zostało tylko X, Dostępne na zamówienie lub Brak w magazynie. Komunikat „Zostało tylko X” korzysta z progu pozostałej ilości ustawionego w PrestaShop. Nic nie jest wyświetlane, gdy zarządzanie stanami jest wyłączone.
  • Pokaż zdjęcie kombinacji: pierwsze zdjęcie przypisane do kombinacji, w przeciwnym razie zdjęcie główne produktu.
  • Niedostępne kombinacje: Pokaż jako nieaktywne lub Ukryj. Wartość bieżącego wiersza jest zawsze widoczna.
  • Wykluczone produkty: ID produktów oddzielone przecinkami. Selektor nie pojawia się dla tych produktów, a serwer odrzuca każdą zmianę.
  • Kolor akcentu: kolor głównego przycisku i wybranych wartości.
  • Zapisuj historię zmian: zasila statystyki widoczne pod formularzem.

Po stronie klienta

Tryb okna

Przycisk Zmień otwiera okno ze zdjęciem kombinacji, nazwą produktu i ilością z wiersza. Grupy atrybutów są w kolejności z katalogu:

  • grupy typu kolor: próbki, z teksturą atrybutu, jeśli istnieje;
  • grupy typu radio lub lista: przyciski, a powyżej 8 wartości lista rozwijana.

Na dole cena, różnica ceny i stan magazynowy wyboru aktualizują się przy każdym kliknięciu. Przycisk Zaktualizuj koszyk pozostaje nieaktywny, dopóki wybór jest taki sam jak w wierszu lub niedostępny. Okno zamyka się klawiszem Escape, krzyżykiem lub kliknięciem poza nim, a obsługa z klawiatury działa strzałkami między wartościami grupy. Na telefonie okno wysuwa się od dołu ekranu.

Tryb list rozwijanych

Każda grupa atrybutów staje się listą w wierszu. Zmiana jest wysyłana od razu po wyborze wartości. Wiersze atrybutów, które motyw już wyświetla (na przykład „Rozmiar: S”), są ukrywane, aby nie dublować informacji. Komunikat pod listami pokazuje trwającą aktualizację lub ewentualny błąd.

Nieistniejąca kombinacja

Jeśli wybrana wartość nie istnieje z pozostałymi wybranymi atrybutami (np. brak M Niebieski w katalogu), moduł przechodzi na istniejącą kombinację zawierającą tę wartość, która zachowuje najwięcej obecnych atrybutów, w pierwszej kolejności taką, którą można zamówić.

Kontrole przed zamianą

Przeglądarka wysyła produkt, bieżącą kombinację i wybraną kombinację. Serwer sprawdza następnie:

  • token sesji;
  • czy produkt jest aktywny i dostępny do zamówienia oraz czy tryb katalogu jest wyłączony;
  • czy wybrana kombinacja należy do produktu i sklepu;
  • czy pierwotny wiersz nadal jest w koszyku, bez personalizacji;
  • czy produkt nie jest powiązany z regułą koszyka z prezentem w tym koszyku;
  • czy ilość końcowa osiąga minimalną ilość kombinacji;
  • czy stan magazynowy pokrywa ilość końcową, chyba że sprzedaż przy braku towaru jest dozwolona dla produktu.

Nowa kombinacja jest dodawana natywną metodą updateQty, a następnie stara jest usuwana metodą deleteProduct. Jeśli usunięcie się nie powiedzie, dodanie zostaje cofnięte. Jeśli wybrana kombinacja jest już w koszyku, ilości są sumowane w jednym wierszu. W przeciwnym razie nowy wiersz przejmuje datę dodania starego, aby zachować swoje miejsce w koszyku.

Po zamianie moduł wywołuje zdarzenie updateCart PrestaShop. Motyw przeładowuje wtedy listę, sumy i mini koszyk. Jeśli motyw nie zareaguje w ciągu 3 sekund, strona zostanie przeładowana.

Wiersze, których to nie dotyczy

  • produkty bez kombinacji lub z jedną kombinacją;
  • wiersze z personalizacją (tekst, plik);
  • produkty dodane gratis przez regułę koszyka;
  • produkty wykluczone w konfiguracji.

Historia i statystyki

Pod formularzem konfiguracji blok Historia zmian pokazuje:

  • liczbę zmian i koszyków objętych zmianą w ciągu 30 dni;
  • liczbę zmienionych koszyków zamienionych w zamówienia, wraz z odsetkiem;
  • 10 najczęściej zmienianych produktów;
  • 20 ostatnich zmian, z kombinacją początkową i wybraną.

Przycisk Wyczyść historię usuwa dane bieżącego sklepu. Produkt często zmieniany na większy rozmiar wskazuje na tabelę rozmiarów lub kartę produktu do poprawy.

Motywy i dostosowanie

Motyw Classic i większość motywów od niego pochodnych wywołuje displayCartExtraProductActions w każdym wierszu koszyka. Jeśli Twój motyw go nie wywołuje, skrypt tworzy selektor na podstawie linków usuwania wierszy (data-id-product i data-id-product-attribute). Plik JavaScript jest ładowany tylko na stronie koszyka.

Aby dostosować wygląd, nadpisz w CSS motywu zmienne --dfcc-accent, --dfcc-text i --dfcc-border albo klasy .dfcc-edit, .dfcc-modal__dialog i .dfcc-option.

Przy mocno zmodyfikowanym motywie lub module koszyka bocznego przetestuj zmianę kombinacji na kopii sklepu, jako gość i jako zalogowany klient.

Dla programistów

Po każdej udanej zmianie moduł wykonuje hook actionDfCartCombinationChange z parametrami cart, id_product, id_product_attribute_from, id_product_attribute_to i quantity. Moduł zewnętrzny może się do niego podpiąć, aby synchronizować CRM lub narzędzie analityczne.

Znane ograniczenia

  • W wersji 1.0.0 wiersze z personalizacją zachowują swoją kombinację.
  • Zmiana odbywa się na stronie koszyka, nie w podsumowaniu procesu zamówienia ani w mini koszyku.
  • Moduł koszyka bocznego, który nie korzysta ze zdarzenia updateCart, aktualizuje się dopiero po przeładowaniu strony.
Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia