[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](/crm/uploads/instructions/module-thumbnails/mod_baeab1b31b79637a994c/thumbnail-b2c945e384.png)
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?
- Produkt bazowy powinien mieć zwykłą nazwę, np. Szara sofa narożna.
- Tańszy egzemplarz utwórz jako osobny produkt i dodaj do jego nazwy słowo OUTLET, np. Szara sofa narożna OUTLET.
- Produkt outletowy musi być dostępny do zakupu — pozycje z
isBuyable = falsesą pomijane. - Dodaj atrybut Stan produktu. Jego wartość jest pokazywana bezpośrednio na liście outletowej.
- Umieść moduł na karcie produktu w miejscu, w którym ma pojawić się sekcja outletowa.
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
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 kodzie | Wartość źródłowa | Znaczenie |
|---|---|---|
| outletProductsSet.status | 1 | Flaga dodatku zapisana na stałe w JS |
| outletProductsSet.name | OUTLET | Słowo kluczowe używane do dopasowania nazw |
| outletProductsSet.title | Kup taniej w outlecie! | Nagłówek listy produktów |
| outletProductsSet.attributes[0] | Stan produktu | Atrybut pokazywany na liście |
| outletProductsSet.toggledTitle | Ten produkt możesz kupić taniej w outlecie | Nagłówek przygotowanego panelu bocznego |
| outletProductsSet.toggledTxt | Tekst informacyjny o outlecie | Treść 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.