PS PrestaShop Początkujący

Kosz Produktów: kompletny przewodnik

Zainstaluj, skonfiguruj i wykorzystaj kosz produktów: automatyczna kopia przed usunięciem, przywracanie w identycznej postaci z pierwotnym ID, kopiowanie plików obrazów, automatyczna retencja i dobre praktyki dla PrestaShop 8 i 9.

Zaktualizowano Wersja modułu 1.0.0

Prezentacja

Moduł Kosz Produktów zamienia każde usunięcie produktu w odwracalną kopię zapasową. Tuż przed skasowaniem produktu, niezależnie od tego, czy dzieje się to ręcznie, przez usuwanie grupowe, przez import czy przez skrypt, moduł tworzy jego pełny zrzut i umieszcza go w koszu. Możesz później przywrócić produkt w identycznej postaci jednym kliknięciem, wraz z jego pierwotnym ID, co zachowuje adresy URL i pozycjonowanie.

Zrzut obejmuje dane w bazie (kartę, tłumaczenia, warianty, ceny, stany magazynowe, kategorie, cechy i tak dalej) oraz pliki obrazów na dysku. Moduł jest zgodny z PrestaShop 8 i 9, zarówno w trybie jednego sklepu, jak i multisklepu, i obsługuje wiele języków.

Instalacja

  1. W panelu administracyjnym otwórz Moduły > Menedżer modułów.
  2. Kliknij Wgraj moduł i przeciągnij archiwum ZIP modułu.
  3. Po zakończeniu instalacji kliknij Konfiguruj.

Podczas instalacji moduł tworzy dedykowaną tabelę kopii zapasowych, chroniony katalog kopii dla obrazów oraz nową zakładkę Kosz produktów w menu Katalog. Nadzór nad usunięciami jest aktywny natychmiast, bez wcześniejszej konfiguracji.

Dostęp do kosza

Kosz jest dostępny na dwa sposoby: przez menu Katalog > Kosz produktów albo przyciskiem Otwórz kosz na stronie konfiguracji modułu. Lista pokazuje produkty zapisane i jeszcze nieprzywrócone, wraz z ich pierwotnym ID produktu, nazwą, referencją, liczbą zapisanych obrazów, autorem usunięcia i datą.

Jak działa kopia zapasowa

Moduł podpina się do hooka actionObjectProductDeleteBefore, wyzwalanego przez PrestaShop tuż przed skasowaniem produktu, w momencie gdy wszystkie jego dane są jeszcze obecne w bazie. Z tego hooka korzysta zarówno stara strona produktu, jak i nowa strona Symfony w PrestaShop 8 i 9, a także usuwanie grupowe. Każdy usuwany produkt jest więc zapisywany indywidualnie.

Przechwycony zrzut obejmuje:

  • kartę produktu, jej wersje dla poszczególnych sklepów i tłumaczenia dla wszystkich języków;
  • warianty, ich atrybuty oraz wersje dla poszczególnych sklepów;
  • ceny specyficzne, stany magazynowe i powiązania z kategoriami;
  • cechy, tagi, dostawców i przewoźników;
  • załączniki, produkty powiązane, zestawy i wirtualne produkty do pobrania;
  • pola personalizacji i ich tłumaczenia;
  • pliki obrazów, we wszystkich wygenerowanych rozmiarach, kopiowane do chronionego katalogu kopii zapasowych.

Przechwytywanie jest ciche i nigdy nie blokuje usunięcia. Jeśli któryś etap kopii zapasowej z jakiegokolwiek powodu się nie powiedzie, PrestaShop kontynuuje usuwanie normalnie: moduł nie zakłóca działania sklepu.

Przywracanie produktu

  1. Otwórz Katalog > Kosz produktów.
  2. Odszukaj produkt do przywrócenia na liście (możesz filtrować i sortować kolumny).
  3. Kliknij zielony przycisk Przywróć i potwierdź.

Moduł ponownie wstawia wszystkie powiązane tabele w jednej transakcji, zachowując pierwotne identyfikatory, kopiuje pliki obrazów dokładnie w te same miejsca, a następnie uruchamia ponowną indeksację wyszukiwarki. Produkt pojawia się w katalogu w takiej postaci, w jakiej był przed usunięciem, a jego wpis znika z kosza. Kod HTML opisów jest zachowany co do znaku.

Ochrona przed konfliktem. Przywracanie najpierw sprawdza, czy ID produktu jest wolne. Jeśli inny produkt ma już ten identyfikator, przywracanie zostaje anulowane, a komunikat o tym informuje, tak aby nigdy nie nadpisać istniejącej karty. W praktyce PrestaShop nie używa ponownie usuniętych identyfikatorów, więc taki przypadek jest rzadki.

Usuwanie trwałe i opróżnianie kosza

Aby zwolnić miejsce, możesz trwale usunąć pojedynczą kopię czerwonym przyciskiem w kolumnie Akcje. Ta operacja kasuje zrzut i powiązane pliki obrazów, jest nieodwracalna.

Przycisk Opróżnij kosz, na górze listy, trwale usuwa wszystkie nieprzywrócone kopie w jednej operacji.

Konfiguracja

Zapisuj pliki obrazów

Gdy ta opcja jest włączona (domyślnie), moduł kopiuje pliki obrazów we wszystkich rozmiarach przy usunięciu i przywraca je na miejsce przy odtworzeniu. Wyłącz ją, jeśli chcesz zapisywać wyłącznie dane i oszczędzić miejsce na dysku. W takim przypadku wiersze obrazów pozostają w zrzucie, ale pliki nie są przywracane.

Retencja (dni)

Określ liczbę dni, po której kopie są automatycznie czyszczone. Wartość 0 zachowuje kopie bez ograniczenia czasowego. Czyszczenie wykonuje się przy okazji kolejnych usunięć.

Multisklep i wielojęzyczność

Zrzut przechwytuje wszystkie języki i wszystkie sklepy powiązane z produktem, a przywracanie odtwarza je w całości. Moduł działa zarówno na pojedynczym sklepie, jak i w multisklepie PrestaShop.

Dobre praktyki i przypadki szczególne

  • Duże katalogi: każde usunięcie tworzy kopię. Ustaw odpowiednią retencję, aby uniknąć zbędnego gromadzenia danych, jeśli często usuwasz wiele produktów (na przykład przy importach zastępujących katalog).
  • Katalog kopii: jest chroniony plikami .htaccess i index.php, nie jest więc publicznie dostępny. Musi pozostać zapisywalny przez serwer.
  • Importy: import, który usuwa, a następnie odtwarza produkty, zapełnia kosz usuniętymi wersjami. Jest to zamierzone i przydatne przy nieudanym imporcie. Pamiętaj, aby opróżnić kosz po zatwierdzeniu importu.

Deinstalacja

Odinstalowanie modułu usuwa tabelę kopii zapasowych, zakładkę w menu oraz cały katalog kopii (zrzuty i pliki obrazów). Produkty już przywrócone i obecne w katalogu nie są naruszane.

FAQ

Czy kosz działa przy usuwaniu grupowym i na nowej stronie produktu?

Tak. Przechwytywanie opiera się na hooku, z którego korzysta stara strona produktu, nowa strona Symfony w PrestaShop 8 i 9 oraz usuwanie grupowe. Każdy usuwany produkt jest zapisywany indywidualnie.

Czy przywracanie zachowuje to samo ID produktu?

Tak. Produkt jest przywracany z pierwotnym identyfikatorem, co zachowuje jego adresy URL, przekierowania i pozycjonowanie. Jeśli identyfikator jest już zajęty, przywracanie zostaje zablokowane.

Czy obrazy są przywracane wraz z plikami?

Tak, o ile opcja zapisu obrazów jest włączona. Pliki we wszystkich rozmiarach są kopiowane przy usunięciu i przywracane na miejsce przy odtworzeniu, po czym wyszukiwarka jest ponownie indeksowana.

Czy moduł jest zgodny z PrestaShop 9?

Tak, moduł jest zgodny z PrestaShop 8.x i 9.x, zarówno w trybie jednego sklepu, jak i multisklepu.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia