Instalacja i konfiguracja modułu Kowal Outlet Products
Informacje podstawowe
- Pakiet Composer:
kowal/module-outletproducts - Moduł Magento:
Kowal_OutletProducts - Wymagany typ aplikacji: Magento 2
- Zależność pakietu:
kowal/base - Komenda CLI modułu:
bin/magento kowal_outletproducts:generate
Instalacja przez Composer
Dodaj repozytorium modułu:
composer config repositories.kowal composer https://repo.kowal.store
Jeżeli repozytorium jest prywatne, skonfiguruj token dostępu:
composer config http-basic.repo.kowal.store <YOUR E-MAIL> <YOUR-TOKEN>
Zainstaluj moduł:
composer require kowal/module-outletproducts
Włącz moduł:
php bin/magento module:enable Kowal_OutletProducts
Wykonaj aktualizację bazy danych:
php bin/magento setup:upgrade
W środowisku produkcyjnym uruchom kompilację DI i deploy statycznych zasobów zgodnie z procesem wdrożeniowym sklepu:
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
Wyczyść cache:
php bin/magento cache:flush
Aktualizacja istniejącej instalacji
Po aktualizacji modułu wykonaj:
composer update kowal/module-outletproducts
php bin/magento setup:upgrade
php bin/magento cache:flush
Jeżeli sklep działa w production mode, wykonaj również standardowe kroki wdrożeniowe:
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
setup:upgrade jest wymagane, ponieważ moduł dodaje i aktualizuje atrybuty produktowe używane do obsługi OUTLET oraz kopii cen specjalnych.
Atrybuty produktowe
Moduł dodaje lub wykorzystuje następujące atrybuty:
| Atrybut | Znaczenie |
|---|---|
sale |
Oznacza produkt jako OUTLET. |
special_price_copy |
Kopia wartości special_price sprzed wejścia produktu do OUTLET. |
special_from_date_copy |
Kopia daty special_from_date. |
special_to_date_copy |
Kopia daty special_to_date. |
special_price_copy_active |
Marker informujący, że kopia ceny specjalnej została wykonana. |
Konfiguracja w panelu administracyjnym
Przejdź do:
Stores > Configuration > kowal > OUTLET Products
Dostępne opcje:
| Opcja | Opis |
|---|---|
Włącz moduł Outlet |
Włącza lub wyłącza działanie modułu. |
Usuń ceny specjalne dla produktów po wyprzedaży |
Określa, czy po zakończeniu OUTLET cena specjalna ma zostać wyczyszczona. Jeżeli opcja jest wyłączona, moduł przywróci cenę z kopii. |
Kategorie outletowe |
Lista kategorii, do których przypisywane są produkty OUTLET i z których są później automatycznie usuwane. |
Wyłącz zarządzanie stanem magazynowym po wyprzedaży |
Pozwala wyłączyć manage_stock po zakończeniu wyprzedaży. |
Włącz backorder po zakończeniu wyprzedaży outletowej |
Pozwala włączyć backorder i oznaczyć produkt jako dostępny po zakończeniu sprzedaży outletowej. |
Konfiguracja jest dostępna na poziomie default, website i store. Kategorie OUTLET używane przez cron są pobierane z konfiguracji domyślnej.
Konfiguracja kategorii OUTLET
- Utwórz w Magento kategorię lub kategorie przeznaczone na outlet.
- Upewnij się, że kategorie są aktywne i widoczne w menu lub listingu, jeżeli mają być dostępne dla klientów.
- W konfiguracji modułu wybierz wszystkie kategorie outletowe w polu
Kategorie outletowe. - Zapisz konfigurację.
- Wyczyść cache Magento.
php bin/magento cache:flush
Import produktów do OUTLET
Przejdź do panelu:
kowal > Upload Outlet Products
W formularzu:
- Wklej listę SKU, po jednym SKU w linii.
- Wybierz kategorie OUTLET.
- Opcjonalnie wybierz website, do których produkt ma zostać przypisany.
- Wybierz, czy moduł ma włączyć obsługę stanów magazynowych dla importowanych produktów.
- Kliknij
Importuj.
Przykładowa lista SKU:
TSHIRT-BLACK-M
TSHIRT-BLACK-L
JACKET-NAVY-XL
SHOES-WHITE-42
Podczas importu moduł:
- przypisuje produkty do kategorii OUTLET,
- ustawia atrybut
sale, - aktualizuje parenty configurable,
- tworzy kopię ceny specjalnej i dat promocji,
- aktualizuje stock zgodnie z wybraną opcją,
- odświeża indeksy i cache produktów oraz kategorii.
Obsługa produktów konfigurowalnych
Jeżeli importowany produkt jest wariantem produktu konfigurowalnego, moduł wyszukuje parenta i przypisuje go do kategorii OUTLET. Dzięki temu produkt konfigurowalny pojawia się w listingu kategorii, a klient może wybrać outletowy wariant.
Podczas cyklicznego przeliczenia moduł sprawdza, czy parent nadal ma aktywne warianty OUTLET. Jeżeli nie, parent zostaje odpięty od kategorii OUTLET.
Obsługa cen specjalnych
Przy imporcie do OUTLET moduł zapisuje kopię:
special_price,special_from_date,special_to_date.
Kopia jest zapisywana zgodnie ze scope atrybutu ceny specjalnej w Magento:
- dla cen globalnych: na poziomie globalnym,
- dla cen per website: na poziomie domyślnego store view każdego website,
- dla cen per store: na poziomie store view.
Moduł nie przelicza walut. Magento przechowuje ceny jako wartości bazowe dla właściwego scope, a prezentacja walut na frontendzie pozostaje po stronie standardowych mechanizmów Magento.
Zachowanie po zakończeniu OUTLET zależy od opcji Usuń ceny specjalne dla produktów po wyprzedaży:
Tak: moduł czyści cenę specjalną i usuwa kopię techniczną,Nie: moduł przywraca cenę specjalną oraz daty z kopii, a następnie usuwa kopię techniczną.
Cron
Moduł posiada zadanie cron:
kowal_outletproducts_outlet
Zadanie uruchamia helper OUTLET i cyklicznie sprawdza produkty outletowe. Cron usuwa produkty z kategorii OUTLET, gdy nie powinny już tam być widoczne, oraz odświeża indeksy i cache.
Po instalacji upewnij się, że cron Magento działa poprawnie:
php bin/magento cron:run
W środowisku produkcyjnym cron powinien być uruchamiany z systemowego crontaba użytkownika aplikacji Magento.
Ręczne uruchomienie przeliczenia
Przeliczenie można uruchomić ręcznie z CLI:
php bin/magento kowal_outletproducts:generate
Komenda wykonuje ten sam proces, który jest uruchamiany przez cron.
Indeksy i cache
Po zmianach moduł odświeża najważniejsze indeksy produktowe i katalogowe:
catalog_product_price,catalog_product_category,catalogsearch_fulltext,inventory,cataloginventory_stock.
Moduł czyści również cache tagów produktów i kategorii OUTLET, dzięki czemu listing kategorii powinien aktualizować się po zmianie statusu lub odpięciu produktu.
W razie potrzeby można wymusić pełną reindeksację:
php bin/magento indexer:reindex
php bin/magento cache:flush
Test po wdrożeniu
Zalecany test funkcjonalny:
- Wybierz produkt prosty z zapasem magazynowym.
- Ustaw mu cenę specjalną i daty promocji.
- Dodaj produkt do OUTLET przez panel importu.
- Sprawdź, czy produkt pojawił się w kategorii OUTLET.
- Sprawdź, czy atrybut
salema wartośćTak. - Dla produktu konfigurowalnego sprawdź, czy parent pojawił się w OUTLET.
- Zmień stan produktu tak, aby nie był salable.
- Uruchom cron lub komendę CLI.
- Sprawdź, czy produkt został usunięty z kategorii OUTLET.
- Sprawdź, czy cena specjalna została przywrócona albo usunięta zgodnie z konfiguracją.
Najczęstsze problemy
Produkt nadal jest widoczny w OUTLET
Sprawdź:
- czy cron Magento działa,
- czy produkt nie ma nadal
sale = 1, - czy produkt jest przypisany do jednej z kategorii skonfigurowanych jako OUTLET,
- czy indeksy i cache zostały odświeżone.
Pomocnicze komendy:
php bin/magento cron:run
php bin/magento indexer:reindex
php bin/magento cache:flush
Parent configurable nadal jest w OUTLET
Sprawdź, czy którykolwiek wariant produktu nadal ma sale = 1. Parent jest utrzymywany w OUTLET, dopóki ma aktywny wariant outletowy.
Cena specjalna nie została przywrócona
Sprawdź:
- czy produkt był wcześniej dodany do OUTLET po instalacji atrybutów kopii,
- czy atrybut
special_price_copy_activebył ustawiony, - czy konfiguracja
Usuń ceny specjalne dla produktów po wyprzedażyjest ustawiona naNie, - jaki scope cen jest ustawiony w Magento.
Ceny różnią się między store view
Sprawdź konfigurację scope cen w Magento. Moduł nie przelicza walut i nie synchronizuje cen między store view. Przywraca wartości zapisane dla właściwego scope cenowego.
Deinstalacja
Jeżeli moduł ma zostać wyłączony:
php bin/magento module:disable Kowal_OutletProducts
php bin/magento setup:upgrade
php bin/magento cache:flush
Usunięcie pakietu Composer:
composer remove kowal/module-outletproducts
php bin/magento setup:upgrade
php bin/magento cache:flush
Przed usunięciem modułu zalecane jest sprawdzenie, czy produkty nie wymagają ręcznego oczyszczenia atrybutu sale lub odpięcia z kategorii OUTLET.





















