Podział kombinacji na osobne produkty
Instalacja i obsługa modułu dzielącego produkt z kombinacjami na osobne produkty, od wyboru strategii po cofnięcie podziału.
Instalacja
Umieść katalog dfproductsplitter w folderze /modules swojego sklepu, a następnie zainstaluj moduł z sekcji Moduły i usługi w panelu administracyjnym. Możesz też wgrać bezpośrednio dostarczone archiwum ZIP.
Podczas instalacji moduł tworzy dwie tabele, PREFIX_df_split_job i PREFIX_df_split_item, oraz dodaje zakładkę Product Splitter w menu Katalog. Nie instaluje żadnego override klasy ani kontrolera i nie wymaga żadnej zależności Composer.
Moduł jest zgodny z PrestaShop 8.0 do 9.x oraz PHP 7.4 do 8.4. Nazwy tabel i stałych różniące się między PrestaShop 8 i 9 są rozpoznawane automatycznie w czasie działania.
Dostęp do interfejsu
Przejdź do Katalog, a następnie Product Splitter. Ekran składa się z czterech bloków: wyszukiwania produktu źródłowego, strategii podziału, opcji generowania oraz historii wykonanych już podziałów.
Moduł pracuje zawsze w kontekście sklepu wybranego u góry panelu administracyjnego. Ceny, stany magazynowe i kombinacje są odczytywane z tego sklepu.
Wybór produktu źródłowego
Wpisz nazwę, referencję albo identyfikator produktu w polu wyszukiwania. W wynikach pojawiają się wyłącznie produkty mające co najmniej jedną kombinację w bieżącym sklepie.
Po wybraniu moduł pokazuje cenę, referencję, liczbę kombinacji i liczbę wykorzystanych grup atrybutów. Odnośnik otwiera kartę produktu w nowej zakładce do weryfikacji.
Ograniczenie podziału do wybranych kombinacji
Zaznacz pole „Ogranicz do wybranych kombinacji”, aby wyświetlić pełną tabelę kombinacji wraz z referencją, wpływem na cenę i stanem magazynowym. Odznacz te, których nie chcesz wyodrębniać. Przydatne, gdy chcesz wyciągnąć jeden kolor z serii i zostawić resztę na produkcie źródłowym.
Dwie strategie podziału
Jeden produkt na kombinację
Każda kombinacja staje się produktem prostym, bez własnych kombinacji. Wpływ ceny i wagi kombinacji przechodzi do ceny i wagi bazowej nowego produktu. Referencja, EAN, ISBN, UPC, MPN, minimalna ilość i data dostępności kombinacji są przenoszone, gdy zostały uzupełnione; w przeciwnym razie używane są wartości produktu źródłowego.
Ten tryb sprawdza się, gdy każda kombinacja ma własny byt handlowy, na przykład perfumy sprzedawane w trzech pojemnościach albo oprogramowanie z trzema długościami licencji.
Jeden produkt na wartość grupy atrybutów
Wybierasz grupę atrybutów do wyodrębnienia, na przykład Kolor. Moduł tworzy jeden produkt na wartość tej grupy, a pozostałe grupy nadal są kombinacjami nowego produktu. Produkt w trzech kolorach i pięciu rozmiarach staje się trzema produktami po pięć kombinacji każdy.
Jeśli produkt ma tylko jedną grupę atrybutów, ten tryb automatycznie przechodzi w tryb według kombinacji. W podglądzie pojawia się ostrzeżenie.
Jak ceny pozostają identyczne
W trybie według grupy moduł bierze najniższy wpływ na cenę wśród kombinacji każdej wyodrębnionej wartości. Ten wpływ przechodzi do ceny bazowej nowego produktu, a następnie każdy pozostały wpływ jest przeliczany przez odejmowanie.
Przykład. Produkt za 89 euro, dostępny w bieli i czerni, w rozmiarach S, M i L. Kombinacje w bieli mają wpływy 0, 3 i 6 euro. Produkt Biały powstaje w cenie 89 euro, z wpływami 0, 3 i 6 euro na trzech rozmiarach. Gdyby wpływy w bieli wynosiły 3, 6 i 9 euro, produkt Biały powstałby w cenie 92 euro z wpływami 0, 3 i 6 euro. W obu przypadkach cena płacona przez klienta za dany rozmiar pozostaje bez zmian.
Waga jest traktowana dokładnie tak samo.
Opcje generowania
Wzorzec nazwy
Nazwa tworzonych produktów powstaje na podstawie wzorca. Dostępne są trzy zmienne: nazwa produktu źródłowego, wchłonięte wartości atrybutów oraz referencja produktu źródłowego. Domyślny wzorzec łączy nazwę źródłową i wartości atrybutów myślnikiem.
Nazwa jest generowana niezależnie w każdym języku sklepu, z przetłumaczonymi wartościami atrybutów. Znaki zabronione przez PrestaShop w nazwie produktu są usuwane automatycznie, a wynik przycinany do 128 znaków.
Wzorzec referencji
Dostępne są cztery zmienne: referencja produktu źródłowego, referencja kombinacji, slug wartości atrybutów oraz identyfikator produktu źródłowego. Jeśli wzorzec daje pusty ciąg, moduł sięga po referencję kombinacji, a następnie po referencję produktu źródłowego.
Przepisany adres URL
Dla każdego języka generowany jest przepisany adres URL na podstawie nazwy produktu. Moduł sprawdza, czy nie istnieje on już w danym języku, i w razie potrzeby dodaje sufiks liczbowy, co zapobiega kolizjom i zduplikowanym adresom.
Przenoszone zdjęcia
Dostępne są trzy tryby. „Zdjęcia kombinacji” duplikuje w pierwszej kolejności zdjęcia powiązane z przetwarzanymi kombinacjami, z zapasowym użyciem wszystkich zdjęć produktu źródłowego, gdy żadne nie jest powiązane. „Wszystkie zdjęcia” zawsze duplikuje cały zestaw. „Brak zdjęć” tworzy produkty bez żadnej grafiki.
Duplikacja jest fizyczna. Kopiowany jest plik oryginalny oraz wszystkie wygenerowane już miniatury, niezależnie od formatu, zarówno jpg jak webp czy avif, wraz z przetłumaczonymi podpisami. Pierwsze zdjęcie każdego produktu staje się jego okładką.
Dane do przeniesienia
Dziesięć pól wyboru steruje przeniesieniem stanów magazynowych, kategorii, właściwości, tagów, cen specjalnych, przewoźników, załączników, dostawców, pól personalizacji i akcesoriów produktu źródłowego. Pierwsze dziewięć jest domyślnie zaznaczone.
Dodatkowe operacje
Zamiana wchłoniętych atrybutów na właściwości tworzy właściwość o publicznej nazwie grupy atrybutów oraz wartość o nazwie atrybutu, a następnie wiąże je z wygenerowanym produktem. Jeśli właściwość lub wartość już istnieją, zostają użyte ponownie. Przydatne, aby zachować kolor jako kryterium filtrowania po podziale.
Wzajemne powiązanie wygenerowanych produktów dodaje każdy utworzony produkt jako akcesorium wszystkich pozostałych pochodzących z tego samego podziału.
Ponowne indeksowanie wyszukiwarki uruchamia indeksowanie wyszukiwarki PrestaShop dla utworzonych produktów na koniec przetwarzania.
Status tworzonych produktów
Do wyboru: taki jak produkt źródłowy, wszystkie aktywne albo wszystkie wyłączone. Tryb wyłączony pozwala sprawdzić karty przed ich publikacją.
Podgląd przed zapisem
Przycisk Podgląd wylicza pełny plan bez zapisywania czegokolwiek w bazie danych. Otrzymujesz liczbę produktów, które zostaną utworzone, a dla każdego z nich nazwę, liczbę zachowanych kombinacji oraz wynikową cenę netto i wagę.
Przycisk Uruchom podział pozostaje nieaktywny, dopóki nie wykonasz podglądu, i wyłącza się ponownie, gdy tylko zmienisz jakąkolwiek opcję.
Wykonanie podziału
Po uruchomieniu moduł zapisuje w bazie zadanie z pełną konfiguracją i listą produktów do wygenerowania, a następnie przetwarza elementy w kolejnych partiach w AJAX. Pasek postępu pokazuje zaawansowanie, a dziennik wymienia każdy utworzony produkt z bezpośrednim odnośnikiem do jego karty.
Pole „Produkty przetwarzane w partii” określa, ile produktów powstaje przy każdym żądaniu. Wartość domyślna to pięć.
Na hostingu współdzielonym lub przy produktach z wieloma zdjęciami zmniejsz wielkość partii do dwóch lub trzech. Przetwarzanie potrwa nieco dłużej, ale nie zagrozi mu limit czasu wykonania PHP.
Los produktu źródłowego
Dostępne są cztery zachowania, stosowane po wygenerowaniu wszystkich produktów.
- Zachować bez zmian. Produkt źródłowy pozostaje aktywny i nietknięty. Tymczasowo otrzymujesz duplikaty w katalogu, co pozwala porównać przed podjęciem decyzji.
- Wyłączyć. Produkt źródłowy znika ze sklepu, ale pozostaje widoczny w panelu administracyjnym.
- Wyłączyć i przekierować kodem 301 na pierwszy utworzony produkt. Produkt źródłowy zostaje wyłączony, jego typ przekierowania zmienia się na trwałe przekierowanie do produktu, a celem jest pierwszy wygenerowany produkt. To opcja zalecana, gdy pierwotny adres jest zaindeksowany lub otrzymuje linki przychodzące.
- Usunąć trwale. Produkt źródłowy zostaje usunięty po wygenerowaniu. Wybieraj tę opcję dopiero po sprawdzeniu wyniku na pierwszym podziale testowym.
Historia i cofnięcie
Każdy podział pojawia się w historii ze swoim identyfikatorem, produktem źródłowym, liczbą przetworzonych produktów, statusem i datą. Przycisk Szczegóły rozwija listę wygenerowanych produktów z ich indywidualnym statusem i odnośnikiem do każdej karty.
Przycisk Cofnij usuwa wszystkie produkty wygenerowane przez to zadanie, a następnie przywraca status aktywny lub nieaktywny oraz pierwotne przekierowanie produktu źródłowego dokładnie w takim stanie, w jakim były przed podziałem. Zadanie przechodzi w status cofnięty.
Jeśli wybrałeś trwałe usunięcie produktu źródłowego, cofnięcie usunie wprawdzie wygenerowane produkty, ale nie przywróci produktu wyjściowego. Korzystaj z tej opcji dopiero po zatwierdzeniu wyniku.
Co dokładnie jest przenoszone
Stany magazynowe
Ilość każdej kombinacji jest przenoszona na odpowiadający produkt lub kombinację wygenerowanego produktu. Przenoszone jest też zachowanie przy braku towaru zdefiniowane na produkcie źródłowym. Stan produktu źródłowego nie jest pomniejszany.
Kategorie
Przenoszone są wszystkie kategorie produktu źródłowego, w tym kategoria domyślna.
Właściwości
Właściwości są kopiowane. Wartości własne, przypisane do pojedynczego produktu, są duplikowane, aby każdy wygenerowany produkt miał swoją.
Ceny specjalne
Ceny specjalne produktu źródłowego są kopiowane. Te zdefiniowane dla wszystkich kombinacji przenoszone są bez zmian. Te zdefiniowane dla konkretnej kombinacji są przenoszone tylko wtedy, gdy dana kombinacja należy do wygenerowanego produktu, i stosowane wówczas do całego produktu.
Dostawcy
Wiersze dostawców przenoszone są na poziomie produktu. Duplikaty między kombinacjami tego samego dostawcy są usuwane.
Wielosklepowość
Wygenerowane produkty są przypisywane do tych samych sklepów co produkt źródłowy.
Przypadki szczególne i ograniczenia
- Zestawów produktów nie da się podzielić. Moduł sygnalizuje to przed jakimkolwiek przetwarzaniem.
- Produkty wirtualne i do pobrania są obsługiwane normalnie.
- Zamówienia złożone na produkt źródłowy nie są modyfikowane. Nadal odwołują się do pierwotnego produktu i kombinacji.
- Opinie klientów przypisane do produktu źródłowego nie są przenoszone.
- Obsługa adresów kanonicznych w Twoim szablonie może wymagać wyczyszczenia pamięci podręcznej po dużym podziale.
Rozwiązywanie problemów
Przetwarzanie zatrzymuje się w połowie
Zmniejsz liczbę produktów przetwarzanych w partii. Produkty z wieloma zdjęciami lub wieloma kombinacjami są najbardziej kosztowne. Zadanie pozostaje w bazie, ale nie da się go wznowić z poziomu interfejsu: cofnij je w historii, aby usunąć już utworzone produkty, a następnie uruchom ponownie z mniejszą wielkością partii.
Zdjęcia nie są kopiowane
Sprawdź uprawnienia do zapisu w katalogu zdjęć produktowych img/p. Moduł tworzy potrzebne podkatalogi, ale nie obejdzie ograniczenia systemu plików.
Ceny nie zgadzają się z oczekiwaniami
Sprawdź podgląd, który pokazuje wyliczoną cenę netto dla każdego produktu. W trybie według grupy cena bazowa produktu to cena źródłowa powiększona o minimalny wpływ wyodrębnionej grupy dla danej wartości, co niekoniecznie odpowiada wpływowi kombinacji domyślnej.
Dwa produkty mają ten sam przepisany adres URL
Moduł sprawdza unikalność w chwili tworzenia i w razie kolizji dodaje sufiks liczbowy. Jeśli konflikt pojawia się później, najprawdopodobniej pochodzi z innego modułu lub z importu. Zmień przepisany adres w zakładce SEO karty produktu.
Odinstalowanie
Odinstalowanie usuwa zakładkę, ustawienia i dwie tabele modułu. Produkty wygenerowane przez Twoje podziały zostają zachowane. Jeśli chcesz je usunąć, cofnij najpierw odpowiednie zadania w historii, a dopiero potem odinstaluj moduł.