Masowa edycja cech i kombinacji: dokumentacja dfbulkfeature
Instalacja, uprawnienia, masowe operacje na cechach i kombinacjach, podgląd, cofanie, strona katalogu i rozwiązywanie problemów.
Instalacja
Zainstaluj moduł w menu Moduły > Menedżer modułów > Załaduj moduł, przesyłając plik ZIP. Ten sam plik ZIP działa w PrestaShop od 8.0 do 9.x.
Podczas instalacji moduł tworzy tabelę historii, rejestruje hook actionAdminControllerSetMedia i dodaje zakładkę Masowe cechy w menu Katalog > Atrybuty i cechy, obok zakładek Atrybuty i Cechy.
Aktualizacja z poprzedniej wersji
Prześlij nowy plik ZIP w ten sam sposób. PrestaShop wykrywa zainstalowaną wersję i uruchamia skrypty aktualizacji: tworzenie tabeli historii, zakładki w katalogu i uprawnień. Twoje ustawienia zostają zachowane.
Jeśli Twój hosting korzysta z pamięci podręcznej PHP (OPcache), skrypty aktualizacji czyszczą ją automatycznie. Jeśli zaraz po aktualizacji coś działa nie tak, wyczyść także pamięć podręczną PrestaShop w menu Zaawansowane > Wydajność.
Uprawnienia pracowników
Moduł opiera się na uprawnieniach PrestaShop przypisanych do każdego profilu:
- Operacje z listy produktów wymagają uprawnienia do edycji Produktów.
- Część strony katalogu dotycząca cech wymaga uprawnień do Cech (podgląd, edycja, dodawanie, usuwanie w zależności od akcji).
- Część dotycząca atrybutów wymaga uprawnień do Atrybutów. Usuwanie lub scalanie wartości atrybutów wymaga dodatkowo uprawnienia do edycji Produktów, ponieważ zmienia kombinacje.
PrestaShop 8 nie wykonuje hooków modułu dla profilu, który nie ma uprawnienia do wyświetlania tego modułu. Podczas instalacji to uprawnienie jest automatycznie nadawane profilom, które mogą edytować produkty. Jeśli utworzysz profil później, nadaj mu uprawnienie „Podgląd” do modułu w menu Zaawansowane > Zespół > Uprawnienia.
Cechy w zaznaczonych produktach
W menu Katalog > Produkty zaznacz odpowiednie produkty, otwórz Akcje masowe, a następnie Zarządzaj cechami. Po lewej stronie okna modalnego wyświetla się lista cech z polem wyszukiwania, a po prawej ustawienia operacji. Liczba obok cechy lub wartości informuje, ile produktów z zaznaczenia już jej używa.

Dodaj
Wybierz cechę, a następnie rodzaj wartości:
- Istniejąca wartość: predefiniowana wartość cechy.
- Nowa wartość: wpisany tekst staje się wartością predefiniowaną, zapisaną we wszystkich językach. Jeśli wartość o tej nazwie już istnieje (bez względu na wielkość liter), zostanie użyta ponownie.
- Wartość niestandardowa: tekst właściwy dla każdego produktu, tak jak na karcie produktu.
Pole Zastąp bieżące wartości tej cechy jest domyślnie zaznaczone. Po jego odznaczeniu wartość zostaje dodana obok istniejących wartości: PrestaShop 8 i 9 akceptują kilka wartości tej samej cechy w jednym produkcie.

Zmień
Wybierz bieżącą wartość (lub „Dowolna wartość”) i nową wartość. Zmieniane są tylko te produkty z zaznaczenia, które już mają tę cechę, pozostałe są liczone jako nieobjęte operacją.

Usuń
Usuń konkretną wartość, wszystkie wartości cechy albo wybierz Wszystkie cechy na górze listy, aby całkowicie wyczyścić cechy zaznaczonych produktów. Wartości niestandardowe, których nie używa już żaden produkt, są usuwane z bazy.
Kombinacje w zaznaczonych produktach
Otwórz Akcje masowe > Zarządzaj kombinacjami albo przełącz się na Atrybuty (kombinacje) na górze okna modalnego. Lista po lewej stronie wyświetla wtedy grupy atrybutów.
Dodawanie kombinacji
Wybierz grupę, zaznacz jedną lub kilka wartości i w razie potrzeby wpisz nowe wartości oddzielone średnikami: zostaną utworzone w grupie, we wszystkich językach. Następnie moduł stosuje zasady generatora PrestaShop do każdego produktu osobno:
- Produkt bez kombinacji otrzymuje jedną kombinację na każdą wartość.
- Produkt, który ma już kombinacje z inną grupą, jest mnożony. Przykład: koszulka istnieje w kolorach Czerwony i Niebieski, a Ty dodajesz Rozmiar S i M. Kombinacje Czerwony i Niebieski stają się Czerwony-S i Niebieski-S, zachowując stan magazynowy i kod referencyjny, a następnie tworzone są Czerwony-M i Niebieski-M.
- Produkt, który ma już kombinacje z tą samą grupą, otrzymuje tylko brakujące wartości, połączone z pozostałymi atrybutami.
Pola operacji dotyczą tworzonych kombinacji:
- Wpływ na cenę (netto) i Wpływ na wagę: akceptowany jest przecinek lub kropka.
- Ilość: początkowy stan magazynowy każdej nowej kombinacji.
- Kod referencyjny: pozostaw puste, aby go nie nadawać, lub użyj szablonu.
{ref}jest zastępowany kodem referencyjnym produktu, a{attr}wartościami kombinacji.{ref}-{attr}daje na przykładTSHIRT01-czerwony-m.
Pakiety i produkty wirtualne nie mogą mieć kombinacji w PrestaShop 8.1 i 9. Są pomijane i liczone osobno w podglądzie i w wyniku.

Zmiana wartości atrybutu
Wybierz bieżącą wartość, a następnie nową wartość, istniejącą lub do utworzenia. Każda kombinacja z bieżącą wartością przechodzi na nową i zachowuje stan magazynowy, ceny i zdjęcia. Jeśli produkt ma już kombinację, która powstałaby w wyniku zmiany, kombinacja pozostaje bez zmian i jest liczona jako pominięta.
Usuń
- Jedna wartość: kombinacje z tą wartością są usuwane.
- Wszystkie wartości (usuń grupę): grupa zostaje usunięta z kombinacji. Kombinacje, które stały się identyczne, są scalane: najstarsza zostaje zachowana i otrzymuje stan magazynowy pozostałych. Kombinacja, która nie ma już żadnego atrybutu, jest usuwana.
- Wszystkie kombinacje, na górze listy: usuwa wszystkie kombinacje zaznaczonych produktów, które stają się produktami prostymi.
Po każdej operacji moduł w razie potrzeby wskazuje kombinację domyślną, aktualizuje typ produktu i przelicza łączny stan magazynowy produktu na podstawie jego kombinacji, tak jak robi to PrestaShop.

Lista operacji, podgląd i zastosowanie
Przycisk Dodaj do listy umieszcza operację w kolejce pod oknem modalnym. Możesz przygotować kilka operacji, mieszając cechy i kombinacje, a następnie zastosować je za jednym razem. Wykonują się w kolejności z listy. Jeśli lista jest pusta, Zastosuj od razu wykonuje operację, którą właśnie konfigurujesz.
Przycisk Podgląd przelicza wszystko bez zapisywania czegokolwiek. Dla każdej operacji pokazuje liczbę produktów zmienionych, już aktualnych lub nieobjętych operacją, a w przypadku kombinacji liczbę kombinacji utworzonych, usuniętych lub pominiętych, ponieważ już istnieją.
Podgląd cech korzysta z transakcji wycofywanej po zakończeniu obliczeń. Wymaga tabel InnoDB, co jest ustawieniem domyślnym. W bazie MyISAM przycisk Podgląd jest wyłączony dla cech.
Po zastosowaniu wynik pokazuje te same liczby oraz przyciski Cofnij i Odśwież listę. Produkty, które nie należą do bieżącego sklepu, są pomijane i wymieniane w wyniku.

Cofanie operacji
Każde udane zastosowanie jest zapisywane w historii wraz ze stanem produktów sprzed operacji. Cofnięcie jest dostępne z poziomu wyniku w oknie modalnym lub z zakładki Historia na stronie Masowe cechy.
- W przypadku cech wartości produktów są przywracane w niezmienionej postaci, łącznie z wartościami niestandardowymi.
- W przypadku kombinacji kombinacje są przywracane z oryginalnymi identyfikatorami, stanem magazynowym, cenami specjalnymi i zdjęciami. Kombinacje utworzone przez operację są usuwane, również z bieżących koszyków.
Cofnięcie przywraca produkty do stanu sprzed operacji. Zmiany wprowadzone później w tych samych produktach zostaną utracone. Dla bardzo dużej partii kombinacji (powyżej około 8 MB danych do zachowania) cofnięcie nie jest dostępne, o czym informuje wynik.

Strona Masowe cechy
Otwórz Katalog > Atrybuty i cechy, zakładka Masowe cechy. Przełącznik na górze strony pozwala wybrać Cechy lub Atrybuty (kombinacje).

Cechy i wartości
Każda cecha lub grupa atrybutów jest wyświetlana z liczbą wartości i produktów. Rozwiń wiersz, aby zobaczyć wartości, liczbę produktów, a w przypadku atrybutów także liczbę kombinacji. Wartości, których nie używa żaden produkt, są oznaczone na pomarańczowo.
- Zmiana nazwy: wybierz język, zmień nazwy bezpośrednio w polach, a następnie kliknij Zapisz zmiany. Zmieniany jest tylko wybrany język. W grupie atrybutów nazwa publiczna zmienia się razem z nazwą, jeśli wcześniej była identyczna.
- Scalanie: zaznacz co najmniej dwie wartości tej samej cechy lub tej samej grupy, kliknij Scal wybrane wartości i wybierz wartość do zachowania. Produkty z pozostałymi wartościami otrzymują zachowaną wartość, a pozostałe wartości są usuwane. W przypadku atrybutów kombinacja, która stałaby się identyczna z inną, jest usuwana, a jej stan magazynowy dodawany do tej drugiej.
- Usuń zaznaczone: usuwa zaznaczone cechy, grupy lub wartości. Po stronie atrybutów kombinacje używające usuniętej wartości są usuwane, a usunięta grupa znika z kombinacji, przy czym identyczne kombinacje są scalane.
- Usuń nieużywane wartości: za jednym razem usuwa wartości, których nie używa żaden produkt ani żadna kombinacja.
Usunięć i scaleń wykonanych na tej stronie nie można cofnąć. Przed dużymi porządkami wykonaj kopię zapasową bazy danych.


Masowe tworzenie
Wklej jeden wiersz na cechę lub grupę atrybutów: nazwę, dwukropek i wartości oddzielone wybranym separatorem (domyślnie średnik):
Materiał: Bawełna; Len; Wełna Rozmiar: S; M; L; XL
Cecha lub grupa, która ma już taką nazwę w wybranym języku, otrzymuje tylko brakujące wartości. Nowe nazwy są zapisywane we wszystkich językach i można je potem przetłumaczyć w poprzedniej zakładce. Nowe grupy atrybutów są tworzone jako lista rozwijana. Jeśli Twoje wartości zawierają średniki, użyj separatora w postaci pionowej kreski.

Historia
Historia wyświetla operacje według daty, z pracownikiem, szczegółami operacji, liczbą produktów i przyciskiem cofania, jeśli jest dostępny. Operacje wykonane na stronie katalogu mają oznaczenie Nieodwracalna.

Ustawienia
- Wywołaj actionProductUpdate dla każdego zmienionego produktu: włącz, jeśli moduł feedów, marketplace’u lub ERP musi być informowany o zmianach. Domyślnie wyłączone, ponieważ spowalnia działanie przy dużych zaznaczeniach.
- Operacje przechowywane w historii: domyślnie 100, od 10 do 1000. Starsze operacje są usuwane po przekroczeniu limitu.

Co moduł aktualizuje
- Zmienione produkty są oznaczane do ponownej indeksacji w wyszukiwarce PrestaShop.
- Pamięć podręczna bloków modułu nawigacji fasetowej (ps_facetedsearch) jest czyszczona.
- Kombinacje są tworzone i usuwane przez natywne klasy PrestaShop, co wywołuje standardowe hooki kombinacji.
- Inne moduły mogą nasłuchiwać hooka
actionDfBulkFeatureProductsUpdated, który otrzymuje listę zmienionych produktów.

Rozwiązywanie problemów
Pozycje nie pojawiają się w menu Akcje masowe
Menu Akcje masowe staje się aktywne dopiero po zaznaczeniu co najmniej jednego produktu. Następnie sprawdź, czy profil pracownika ma uprawnienie do edycji produktów oraz uprawnienie „Podgląd” do modułu, i wyczyść pamięć podręczną PrestaShop.
„Serwer zwrócił nieoczekiwaną odpowiedź”
Sesja wygasła lub profil nie ma wymaganych uprawnień. Odśwież stronę z listą produktów i spróbuj ponownie.
Część kombinacji jest liczona jako pominięta
Kombinacja, która powstałaby w wyniku operacji, już istnieje w produkcie. Moduł nigdy nie tworzy dwóch kombinacji z dokładnie tymi samymi atrybutami.
Filtry w sklepie nadal pokazują starą wartość
Uruchom ponownie indeksowanie atrybutów i cech na stronie konfiguracji modułu nawigacji fasetowej, a następnie wyczyść pamięć podręczną PrestaShop.
Zgodność
- PrestaShop od 8.0 do 9.x, ten sam plik ZIP obsługuje obie gałęzie. Testowany na 8.2.1 i 9.2.0.
- PHP 7.2 lub nowszy.
- Multisklep i wiele języków.
- Interfejs dostępny w języku francuskim, angielskim, hiszpańskim, niemieckim, włoskim, niderlandzkim, polskim i portugalskim.