Instrukcja›Szablon COSMO

[im2]⭐Outlet

Moduł wyszukuje dostępne produkty o tej samej nazwie z dopiskiem OUTLET i pokazuje je na karcie produktu jako listę tańszych egzemplarzy z ceną, zdjęciem i stanem produktu.

Miniatura modułu: [im2]⭐Outlet

Do czego służy moduł?

Moduł Outlet automatycznie szuka tańszych egzemplarzy odpowiadających aktualnie oglądanemu produktowi. Jeżeli znajdzie dostępne produkty z dopiskiem OUTLET w nazwie, pokazuje sekcję „Kup taniej w outlecie!” z ceną, zdjęciem oraz wartością atrybutu „Stan produktu”.

Jak przygotować produkty outletowe?

  1. Produkt bazowy powinien mieć zwykłą nazwę, np. Szara sofa narożna.
  2. Tańszy egzemplarz utwórz jako osobny produkt i dodaj do jego nazwy słowo OUTLET, np. Szara sofa narożna OUTLET.
  3. Produkt outletowy musi być dostępny do zakupu — pozycje z isBuyable = false są pomijane.
  4. Dodaj atrybut Stan produktu. Jego wartość jest pokazywana bezpośrednio na liście outletowej.
  5. Umieść moduł na karcie produktu w miejscu, w którym ma pojawić się sekcja outletowa.
Najważniejsza zasada dopasowania

Moduł porównuje nazwę produktu bazowego z nazwą znalezionych produktów po usunięciu spacji i słowa OUTLET. Nazwa egzemplarza outletowego powinna więc bazować na tej samej nazwie produktu.

Sprawdź działanie modułu

Poniższe środowisko testowe korzysta z syntetycznych danych produktu i wyników SearchApi. Możesz przełączać scenariusze, zmienić nazwę produktu albo słowo kluczowe i od razu zobaczyć, czy źródłowy mechanizm znalazłby produkty outletowe.

Co klient zobaczy w sklepie?

Dla każdego dopasowanego produktu moduł pobiera główne zdjęcie, cenę podstawową, adres produktu i atrybut Stan produktu. Element jest oznaczony czerwonym badge’em OUTLET. Jeżeli nie ma żadnego pasującego produktu, sekcja nie jest dodawana.

Ustawienia zaawansowane

Brak pól konfiguracyjnych SVE w przesłanej paczce

source/config.json oraz source/translations.json są puste. Teksty i logika są obecnie wpisane bezpośrednio w module.js, m.in. słowo OUTLET, tytuł sekcji i nazwy atrybutów. Dlatego instrukcja nie pokazuje fikcyjnego formularza ustawień po lewej stronie.

Element w kodzieWartość źródłowaZnaczenie
outletProductsSet.status1Flaga dodatku zapisana na stałe w JS
outletProductsSet.nameOUTLETSłowo kluczowe używane do dopasowania nazw
outletProductsSet.titleKup taniej w outlecie!Nagłówek listy produktów
outletProductsSet.attributes[0]Stan produktuAtrybut pokazywany na liście
outletProductsSet.toggledTitleTen produkt możesz kupić taniej w outlecieNagłówek przygotowanego panelu bocznego
outletProductsSet.toggledTxtTekst informacyjny o outlecieTreść przygotowanego panelu bocznego

Szczegóły techniczne

Moduł pobiera nazwę aktualnego produktu z .product-section-title i jego ID z elementu .outletstorefront. Następnie używa SearchApi, a dla każdego dopasowania ProductFetcherApi. Jeśli ProductFetcher nie jest aktywny, kod rejestruje funkcję dynamicznie przez FeatureSystemApi.

W przesłanym źródle tworzony jest także DOM panelu #rightsection z maską, przyciskiem zamknięcia i tekstem informacyjnym. W tej wersji module.js nie zawiera jednak kodu, który otwiera ten panel lub wstawia do niego kliknięty produkt, dlatego instrukcja nie symuluje tej funkcji jako działającej.