PS PrestaShop Początkujący

Pozycje Produktów — Kompletny przewodnik

Zainstaluj, skonfiguruj i używaj modułu pozycji produktów: drag & drop, automatyczne sortowanie wielokryterialne, przypinanie pozycji i ochrona przed importami ERP dla PrestaShop 8 i 9.

Zaktualizowano Wersja modułu 1.2.0

Prezentacja

Moduł Pozycje Produktów oferuje nowoczesny interfejs drag & drop do reorganizacji produktów w kategoriach PrestaShop, wraz z potężnymi narzędziami automatycznego sortowania i systemem przypinania, który chroni wybrane pozycje przed automatycznymi zmianami (importy ERP, CSV, skrypty zewnętrzne).

Moduł jest kompatybilny z PrestaShop 8 i 9, w trybie jedno- i wielosklepowym, i w pełni wielojęzyczny (FR, EN, ES, DE, IT). Zapisuje bezpośrednio w standardowej kolumnie position PrestaShop: kolejność zdefiniowana w back-office pojawia się identycznie na froncie, bez dodatkowej konfiguracji ani integracji motywu.

Kompatybilność i wymagania

  • PrestaShop 8.0 do 9.x — jeden pakiet obejmuje obie gałęzie, bez szczególnej konfiguracji.
  • PHP 8.0 do 8.4.
  • Jeden sklep i multistore.
  • Żadnych zależności Composer, żadnych usług zewnętrznych, żadnego zewnętrznego JavaScriptu: jQuery i jQuery UI są dostarczane natywnie przez PrestaShop.
  • PrestaShop 1.7 nie jest obsługiwany: API administracji i system hooków różnią się zbyt mocno, aby zagwarantować niezawodne działanie.

Kompatybilność z PrestaShop 9 jest dostępna od wersji 1.2.0 modułu. Jeśli migrujesz sklep PrestaShop 8 na PrestaShop 9, zainstaluj najnowszą wersję modułu przed lub po migracji: pozycje i przypięcia są zachowywane, bo tabela przypięć nie jest modyfikowana przy aktualizacji.

Instalacja

  1. Z back-office otwórz Moduły > Menedżer modułów.
  2. Kliknij Zainstaluj moduł i upuść archiwum ZIP.
  3. Po zakończeniu instalacji w menu pojawia się pozycja Katalog > Pozycje produktów.

Przy instalacji moduł tworzy dedykowaną tabelę dla systemu przypinania i rejestruje hooki potrzebne do automatycznego przywracania zablokowanych pozycji.

Aby zaktualizować moduł, po prostu wgraj nowe archiwum na stare: skrypty migracji wykonują się automatycznie, przypięcia i pozycje są zachowane.

Interfejs

Ekran zarządzania składa się z trzech głównych stref:

  • Drzewo kategorii po lewej: pełna nawigacja po hierarchii, natychmiastowe wyszukiwanie, licznik produktów i licznik przypięć dla każdej kategorii.
  • Pasek narzędzi u góry po prawej: wyszukiwanie w bieżącej kategorii, menu Blokada (pomarańczowe) i menu Sortowanie automatyczne (fioletowe).
  • Lista produktów w centrum: każdy produkt ma uchwyt drag & drop, numer pozycji edytowalny kliknięciem oraz cztery szybkie akcje — przypnij, przenieś na górę, przenieś na dół, edytuj kartę.

Selektory sklepu i języka u góry ekranu pozwalają przełączać kontekst bez opuszczania strony.

Ręczna reorganizacja produktów

Przeciągnij i upuść

Chwyć uchwyt po lewej stronie produktu i przeciągnij go w wybrane miejsce. Pozycje zapisują się automatycznie po puszczeniu.

Bezpośrednia edycja numeru

Kliknij numer pozycji produktu, aby zmienić go z klawiatury. Zatwierdź Enterem; naciśnij Escape, aby anulować. Moduł automatycznie przesuwa pozostałe produkty, aby zmieścić nową pozycję.

Przyciski „Na górę” i „Na dół”

Dwa szybkie przyciski wysyłają produkt na pierwszą lub ostatnią pozycję kategorii jednym kliknięciem.

Sortowanie automatyczne

Menu Sortowanie automatyczne stosuje ranking do wszystkich produktów kategorii według wybranego kryterium. Dostępne kryteria:

  • Według nazwy: A → Z lub Z → A, na podstawie nazwy w bieżącym języku.
  • Według ceny: rosnąco lub malejąco.
  • Według stanu magazynowego: najpierw wysoki lub najpierw niski, z porządkiem alfabetycznym jako tie-breakerem.
  • Według sprzedaży (ostatnie 90 dni): najlepiej lub najsłabiej sprzedające się najpierw, liczone z ważnych zamówień bieżącego sklepu.
  • Najnowsze / najstarsze: według daty dodania produktu.
  • Referencja A → Z: sortowanie alfabetyczne według referencji wewnętrznej.
  • Odwróć bieżącą kolejność: odwraca całą listę.
  • Losowe przetasowanie: losowa kolejność przy każdym wykonaniu.

Opcja Zastosuj też do podkategorii propaguje sortowanie na wszystkie kategorie potomne w jednej operacji.

Przypięte produkty zachowują pozycję podczas sortowania: reorganizowane są tylko produkty nieprzypięte (patrz następna sekcja).

Przypinanie pozycji

Przypinanie pozwala zamrozić pozycję produktu, aby nie zmieniała się ani przy sortowaniu automatycznym, ani w wyniku modyfikacji zewnętrznej (import ERP, aktualizacja produktu przez BO, skrypt). To opcjonalna warstwa ochrony: bez przypinania ręczna kolejność pozostaje ważna, dopóki nie uruchomisz automatycznego sortowania i żaden system zewnętrzny nie dotknie pozycji.

Przypinanie pojedynczego produktu

W każdym wierszu produktu ikona pinezki przełącza stan przypięty / nieprzypięty produktu w bieżącej kategorii. Przypięty produkt dostaje pomarańczową obwódkę i małą plakietkę pinezki na numerze pozycji. Licznik przypiętych w pasku statusu i w drzewie aktualizuje się automatycznie.

Możesz zawsze ręcznie przesunąć przypięty produkt (drag & drop, bezpośrednia edycja, szybkie przyciski): zablokowana pozycja podąża wtedy za ruchem. Blokowane są tylko sortowanie automatyczne i modyfikacje zewnętrzne.

Blokada całej kategorii

Menu Blokada > Zablokuj całą kategorię przypina jednym ruchem wszystkie produkty bieżącej kategorii na ich aktualnych pozycjach. To zalecana opcja dla katalogów zasilanych przez ERP, który regularnie re-synchronizuje kategorie: po zablokowaniu kategorii żaden import zewnętrzny nie może zmienić kolejności.

Odblokuj wszystko

Opcja Odblokuj wszystko usuwa wszystkie przypięcia bieżącej kategorii w jednej akcji. Aktualne pozycje są zachowane; znoszona jest tylko ochrona.

Przywracanie przypiętych pozycji

Opcja Przywróć przypięte pozycje ręcznie odtwarza algorytm przywracania na bieżącej kategorii. Przydatne po dużym imporcie, aby wizualnie zweryfikować, że wszystkie zablokowane pozycje wróciły na miejsce — choć hook automatycznego przywracania i tak uruchamia się przy każdej aktualizacji produktu.

Przypadki użycia

Pierwsze N produktów ręcznie, reszta posortowana A → Z

Częsty scenariusz: ręczne pozycjonowanie 5 lub 10 pierwszych produktów kategorii (czoło półki, bestsellery, nowości), potem alfabetyczne sortowanie reszty.

  1. Wybierz kategorię w drzewie.
  2. Ułóż swoje N pierwszych produktów w wybranej kolejności (drag & drop lub bezpośrednia edycja).
  3. Kliknij ikonę pinezki każdego z tych N produktów.
  4. Otwórz Sortowanie automatyczne > Według nazwy > A → Z.

N przypiętych produktów zostaje na swoich pozycjach; pozostałe są sortowane alfabetycznie od pozycji N+1. Ten sam mechanizm działa ze wszystkimi kryteriami sortowania.

Ochrona kategorii przed importem ERP

Częsty scenariusz: Twój ERP lub skrypt zewnętrzny regularnie re-synchronizuje powiązania produkt / kategoria, co zeruje pozycje.

  1. Uporządkuj kategorię w wybranej kolejności.
  2. Otwórz Blokada > Zablokuj całą kategorię.
  3. Potwierdź: wszystkie produkty są przypięte na aktualnych pozycjach.

Od tego momentu każda aktualizacja zablokowanego produktu przechodząca przez PrestaShop — karta produktu w back-office, webservice, natywny import CSV, moduł zewnętrzny manipulujący obiektem Product — automatycznie uruchamia przywrócenie jego pierwotnej pozycji.

Skrypt piszący bezpośrednio w bazie danych, bez obiektu Product, nie uruchamia żadnego hooka PrestaShop: automatyczne przywracanie nie może wtedy zajść. W takim przypadku uruchom Blokada > Przywróć przypięte pozycje po imporcie albo wywołaj to przywracanie na końcu swojego skryptu synchronizacji.

Multistore

Moduł jest w pełni kompatybilny z funkcją multistore PrestaShop. Selektor sklepu u góry interfejsu przełącza kontekst. Pozycje i przypięcia są niezależne per para (kategoria, sklep): przypięcie produktu w sklepie A nie blokuje go w sklepie B.

Wielojęzyczność

Interfejs back-office jest przetłumaczony na francuski, angielski, hiszpański, niemiecki i włoski. Selektor języka u góry ekranu zmienia język drzewa i wyświetlanych nazw produktów; pozycje są wspólne dla wszystkich języków sklepu (natywne zachowanie PrestaShop).

Wydajność

Moduł używa zoptymalizowanych zapytań SQL z joinami na istniejących indeksach (category_product, product_shop, stock_available). Zapis pozycji jest debounce’owany po stronie JavaScript, aby uniknąć kolejnych żądań przy szybkich reorganizacjach. Tabela przypięć ma złożony klucz główny i dwa indeksy wtórne dla bardzo szybkich przywracań, nawet na kategoriach z kilkuset produktami. Przywracanie jest ponadto chronione przed reentrancją, co eliminuje pętle przy masowych aktualizacjach.

Odinstalowanie

Odinstalowanie modułu usuwa tabelę przypięć i odpowiadającą pozycję menu. Pozycje w category_product pozostają nietknięte: Twoja aktualna kolejność jest zachowana. Znoszona jest tylko ochrona (przypinanie i automatyczne przywracanie).

FAQ

Czy trzeba przypinać każdy produkt, aby ręczna kolejność się zachowała?

Nie. Kolejność zdefiniowana przez drag & drop lub bezpośrednią edycję jest zapisywana w standardowej kolumnie position PrestaShop i tam pozostaje, dopóki żadne sortowanie automatyczne ani import zewnętrzny jej nie zmieni. Przypinanie to opcjonalna warstwa ochrony, przydatna tylko wtedy, gdy chcesz łączyć ręczne pozycje z sortowaniem automatycznym albo gdy Twój ERP dotyka powiązań produkt / kategoria podczas importów.

Czy kolejność zdefiniowana w back-office jest odzwierciedlana na froncie?

Tak, bez dodatkowej konfiguracji. Moduł zapisuje w natywnej kolumnie category_product.position, której PrestaShop już używa do porządkowania list produktów na froncie. Żadna integracja motywu ani dodatkowy hook nie jest wymagany.

Mój ERP re-synchronizuje kategorie przy każdym imporcie: co robić?

Otwórz menu Blokada > Zablokuj całą kategorię. To przypina jednym ruchem wszystkie produkty na aktualnych pozycjach. Hook automatycznego przywracania odtwarza potem pozycje za każdym razem, gdy ERP zmodyfikuje zablokowany produkt przez obiekt Product. Jeśli Twój ERP pisze bezpośrednio w SQL, dodaj wywołanie Przywróć przypięte pozycje na końcu importu.

Czy można przesunąć przypięty produkt?

Tak. Przypinanie chroni przed zmianami automatycznymi (sortowanie auto, importy zewnętrzne). Gdy ręcznie przesuwasz przypięty produkt (drag & drop, edycja pozycji, przycisk na górę lub na dół), zablokowana pozycja jest aktualizowana, aby podążać za ruchem.

Czy sortowanie automatyczne działa z podkategoriami?

Tak. Zaznacz opcję Zastosuj też do podkategorii w menu sortowania, aby propagować kryterium na wszystkie podkategorie bieżącej kategorii w jednej operacji.

Czy moduł jest kompatybilny z PrestaShop 9?

Tak, od wersji 1.2.0. Ten sam pakiet obejmuje PrestaShop 8.0 do 9.x, w trybie jedno- i wielosklepowym, bez zależności Composer ani zewnętrznego JavaScriptu (jQuery i jQuery UI są dostarczane natywnie przez PrestaShop).

Czy moduł zastępuje natywny ekran pozycji kategorii?

Nie, jest uzupełnieniem. Natywny ekran PrestaShop pozostaje dostępny; moduł dostarcza nowocześniejszy interfejs z przypinaniem i sortowaniem wielokryterialnym jako bonusem.

Lista produktów się nie ładuje albo wyszukiwanie dziwnie działa.

Wyczyść cache PrestaShop (Zaawansowane > Wydajność) i przeładuj stronę z wymuszeniem odświeżenia przeglądarki. Moduł dodaje numer wersji do swoich plików CSS i JS, ale cache przeglądarki lub agresywny proxy może zachować starą kopię po aktualizacji.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia