PS PrestaShop Początkujący

Sezonowe dekoracje sklepu według harmonogramu: dokumentacja

Instalacja i konfiguracja sezonowych dekoracji 2.0: gotowe szablony, kampanie z datami, dniami i godzinami, pasek ogłoszeń z kodem promocyjnym do skopiowania, reguła koszyka, baner, efekty, kierowanie, wyniki i bezpieczny podgląd.

Zaktualizowano Wersja modułu 2.0.0

Sezonowe dekoracje według harmonogramu (moduł dfthemescheduler) automatycznie ubierają Twój sklep PrestaShop na każde ważne wydarzenie handlowe. Tworzysz kampanie z datami, na Boże Narodzenie, Black Friday, wyprzedaże czy walentynki, łączące pasek, baner, paletę kolorów, efekty wizualne i blok na stronie głównej. Każda kampania włącza się i wyłącza sama w zaplanowanych terminach, bez żadnego zadania cron.

Nowości w wersji 2.0.0

  • Pasek ogłoszeń wyświetlany na samej górze strony (już nie w nagłówku), z możliwością zamknięcia i przypięcia podczas przewijania, z przyciskiem „Kopiuj” dla kodu promocyjnego.
  • Dni tygodnia i przedział godzinowy, na przykład wyprzedaż błyskawiczna w piątek i sobotę od 18:00 do 22:00.
  • Kod promocyjny powiązany z regułą koszyka PrestaShop, utworzoną z poziomu kampanii i zsynchronizowaną z jej datami.
  • Zakładka Wyniki: wizyty, kliknięcia, współczynnik kliknięć, skopiowane kody i zamówienia z kodem.
  • Siedem gotowych szablonów (Boże Narodzenie, Black Friday, Halloween, Walentynki, Nowy Rok, wyprzedaż zimowa i letnia) z ogłoszeniem przetłumaczonym na 8 języków.
  • Panel, planer roczny z wykrywaniem nakładania się kampanii, formularz z zakładkami i podgląd na żywo.
  • Kierowanie według stron i grup klientów; animacja ograniczona w czasie lub wyłączona na telefonach.
  • Interfejs przetłumaczony na 8 języków i poprawka błędu 500, który uniemożliwiał edycję kampanii w PrestaShop 8 i 9.

Prezentacja

Moduł opiera się na prostej logice: kampania to zestaw elementów wizualnych powiązany z zakresem dat. Gdy bieżąca data mieści się w tym zakresie, kampania staje się „live” i jej oprawa jest stosowana na froncie. Poza nim sklep wraca do normalnego wyglądu bez pozostawiania śladów.

W danym momencie wyświetlana jest tylko jedna kampania. Jeśli kilka kampanii nachodzi na siebie, wygrywa ta z najwyższym priorytetem. Możesz więc nałożyć długą kampanię bożonarodzeniową i bardziej priorytetowy szczyt Black Friday w jej środku.

Każda kampania może łączyć, do wyboru, następujące elementy: pasek u góry strony z komunikatem i odliczaniem, baner graficzny per język, paletę siedmiu kolorów, efekt nastrojowy (śnieg, konfetti, serca, liście, gwiazdy, fajerwerki), blok HTML na stronie głównej oraz własny CSS. Wszystkie te elementy są opcjonalne.

Świąteczny sklep: pasek ogłoszeń z kodem do skopiowania, odliczaniem, banerem i śniegiem w motywie Hummingbird
Kampania świąteczna w sklepie: pasek ogłoszeń, kod do skopiowania, baner i śnieg.

Instalacja

Zainstaluj moduł jak każdy inny moduł PrestaShop:

  1. W zapleczu przejdź do Moduły > Menedżer modułów.
  2. Kliknij Wgraj moduł i wybierz plik dfthemescheduler-2.0.0.zip.
  3. Po zakończeniu instalacji kliknij Konfiguruj, aby otworzyć planer kampanii.

Moduł tworzy swoje tabele, rejestruje hooki wyświetlania i dodaje zakładkę administracyjną dostępną przez przycisk Konfiguruj. Żadne zewnętrzne zależności nie są wymagane: ani Composer, ani jQuery, ani usługi zewnętrzne.

Masz wersję 1.x? Po prostu wgraj zip 2.0.0 w Menedżerze modułów: aktualizacja dodaje nowe ustawienia, zachowuje Twoje kampanie i czyści pamięć podręczną PrestaShop, aby nowa wersja była od razu widoczna. Pasek ogłoszeń przechodzi na samą górę strony; dawne położenie pozostaje dostępne („W nagłówku”). Moduł ma teraz własną pozycję w menu Wygląd > Kampanie sezonowe.

DF Theme Scheduler: pierwsze uruchomienie z gotowymi szablonami sezonowymi w panelu PrestaShop
Pierwsze uruchomienie: utwórz kampanię lub zacznij od szablonu.

Gotowe szablony

Po otwarciu moduł proponuje siedem szablonów: Boże Narodzenie, Black Friday, Halloween, Walentynki, Nowy Rok, wyprzedaż zimową i letnią. Jedno kliknięcie tworzy kampanię z jej datami (data Black Friday jest wyliczana co roku), kolorami, animacją i ogłoszeniem już przetłumaczonym na Twoje języki. Kampania jest tworzona jako wyłączona: sprawdź ją, a potem włącz.

Gotowe szablony: Boże Narodzenie, Black Friday, Halloween, Walentynki, Nowy Rok i wyprzedaże
Siedem szablonów sezonowych.

Tworzenie kampanii

Z ekranu konfiguracji kliknij Dodaj kampanię. Formularz ma osiem zakładek: Daty, Pasek ogłoszeń, Baner i strona główna, Animacja, Kolory i CSS, Kierowanie, Kod promocyjny i Wyniki. Nad nim podgląd na żywo pokazuje pasek, kolory, baner i animację przy każdej zmianie. Pod datami status jest liczony na bieżąco („Start za 12 d · Czas trwania 4 d”) ze strefą czasową i aktualnym czasem sklepu.

Informacje ogólne

  • Nazwa kampanii: etykieta wewnętrzna, na przykład „Boże Narodzenie 2026″ lub „Black Friday”. Nigdy nie jest pokazywana odwiedzającym.
  • Włączona: przełącznik główny. Wyłączona kampania nigdy nie jest wyświetlana, nawet w obrębie swojego zakresu dat.
  • Priorytet: liczba całkowita. Przy nakładaniu się kampanii wygrywa ta z najwyższym priorytetem. Zostaw 0, jeśli prowadzisz tylko jedną kampanię naraz.

Daty

Pola Data rozpoczęcia i Data zakończenia używają natywnego selektora daty i godziny, z dokładnością do sekundy. Daty są interpretowane według czasu serwera Twojego sklepu.

Jeśli Twoja przeglądarka pokazuje pole tekstowe zamiast selektora, oczekiwany format to RRRR-MM-DD GG:MM:SS, na przykład 2026-11-27 00:00:00.

Coroczne powtarzanie

Zaznacz Powtarzaj co roku, aby kampania wracała automatycznie w tych samych terminach, rok po roku. Porównywane są tylko miesiąc, dzień i godzina: rok jest ignorowany.

Moduł natywnie obsługuje kampanie przechodzące przez Nowy Rok. Kampania od 20 grudnia do 6 stycznia działa bez zarzutu i uruchamia się ponownie każdej zimy, bez konieczności jej dublowania.

Dla kampanii powtarzalnej walidacja „data zakończenia po dacie rozpoczęcia” jest celowo wyłączona, ponieważ koniec może przypadać w następnym roku kalendarzowym.

Dni i godziny

W zakładce Daty zaznacz dni tygodnia, w które kampania ma się wyświetlać, i w razie potrzeby przedział godzinowy (na przykład od 18:00 do 22:00). Przedział może przechodzić przez północ (od 22:00 do 02:00). Wszystkie dni zaznaczone i brak godzin: kampania działa bez przerwy w swoich datach.

Poza swoimi dniami lub godzinami kampania jest „Wstrzymana”, a lista pokazuje, kiedy wznowi działanie. Odliczanie na pasku wskazuje wtedy koniec dzisiejszego przedziału, a nie koniec kampanii.

Harmonogram kampanii: daty, dni tygodnia i przedział godzinowy weekendowej wyprzedaży
Wyprzedaż błyskawiczna w piątek i sobotę, od 18:00 do 22:00.

Pasek u góry strony

Pole Komunikat paska (wielojęzyczne) wyświetla pasek u góry wszystkich stron. Akceptuje podstawowy HTML: linki, pogrubienie. Zostaw je puste, aby ukryć pasek.

Włącz Pokaż odliczanie, aby dodać licznik w czasie rzeczywistym do daty zakończenia kampanii, w formacie „12d 04:31:07″. Dla kampanii powtarzalnej odliczanie automatycznie celuje w najbliższe wystąpienie daty zakończenia.

Kolory paska (tło i tekst) ustawia się w sekcji Paleta.

Od wersji 2.0.0 pasek wyświetla się na samej górze strony, nad nagłówkiem; trzy inne położenia pozostają dostępne. Uzupełniają go dwie opcje: Odwiedzający mogą go zamknąć (wybór jest zapamiętywany w ich przeglądarce dla tej kampanii) oraz Widoczny podczas przewijania (pasek pozostaje przypięty u góry ekranu; przyklejony nagłówek motywów takich jak Hummingbird ustawia się tuż pod nim).

Wskaźnik kontrastu sprawdza, czy tekst pozostaje czytelny na kolorze tła (próg WCAG 4,5:1). Jeśli kampania ma kod promocyjny, pojawia się on na pasku z przyciskiem Kopiuj.

Ustawienia paska ogłoszeń z podglądem: treść, odliczanie, przypięty pasek, zamykanie i kontrola kontrastu
Zakładka Pasek ogłoszeń i podgląd na żywo.
Kampania świąteczna na telefonie: zamykany pasek ogłoszeń nad nagłówkiem
Pasek na telefonie, nad nagłówkiem.

Baner graficzny

Możesz wgrać inny baner dla każdego języka, z klikalnym linkiem i tekstem alternatywnym. Akceptowane formaty to jpg, png, gif i webp. Zalecana jest duża szerokość (na przykład 1920 × 300).

Pole Pozycja banera określa strefę szablonu, w której obraz się wyświetla:

  • Pasek górny: displayBanner: pozycja domyślna, na samej górze strony.
  • Pod nagłówkiem, pełna szerokość: displayNavFullWidth: tuż pod menu głównym.
  • Nad treścią: displayWrapperTop: nad korpusem strony.

Jeśli baner się nie wyświetla, zwykle oznacza to, że Twój szablon nie obsługuje wybranego hooka. Po prostu wypróbuj inną pozycję z listy.

Baner sezonowy dla każdego języka z linkiem, tekstem alternatywnym, położeniem i blokiem strony głównej
Jeden baner na język albo ten sam obraz dla wszystkich języków.

Paleta kolorów

Kampania udostępnia siedem kolorów: podstawowy, dodatkowy, linki, tło nagłówka, tło stopki, tło paska i tekst paska.

Te siedem wartości jest zawsze eksponowanych jako zmienne CSS (--dfts-primary, --dfts-secondary itd.), które Twój szablon lub własny CSS mogą ponownie wykorzystać.

Włącz Zastosuj paletę do szablonu, aby moduł sam nadał te kolory przyciskom, linkom, nagłówkowi i stopce. Zostaw opcję wyłączoną, jeśli wolisz sterować oprawą wyłącznie przez zmienne CSS i własny arkusz stylów.

Efekty wizualne

Pole Efekt wizualny oferuje sześć animacji w czystym JavaScript, rysowanych na pełnoekranowym canvasie: śnieg, konfetti, serca, jesienne liście, migoczące gwiazdy i fajerwerki. Wybierz Brak, aby wyłączyć efekt.

Intensywność (niska, średnia, wysoka) reguluje gęstość cząsteczek. Liczba cząsteczek jest ograniczona, aby chronić wydajność.

Efekty ładują się tylko wtedy, gdy kampania jest aktywna. Wyłączają się automatycznie dla odwiedzających z włączoną systemową preferencją „ograniczenie ruchu” i wstrzymują się, gdy karta przeglądarki nie jest widoczna.

Animację uzupełniają dwa ustawienia: Zatrzymaj po (wygasa po podanej liczbie sekund na każdej stronie; 0 = bez limitu) oraz Także na urządzeniach mobilnych (wyłącz, aby nie animować ekranów węższych niż 768 px).

Animacja śniegu, konfetti lub fajerwerków z intensywnością, czasem trwania i opcją mobilną
Zakładka Animacja: efekt, intensywność, czas trwania i telefony.

Blok na stronie głównej i własny CSS

Pole Blok strony głównej (wielojęzyczne, edytor wizualny) wyświetla dowolną treść HTML na stronie głównej przez cały czas trwania kampanii, idealne na ofertę, rozbudowany pasek promocyjny lub komunikat sezonowy.

Pole Własny CSS pozwala pójść dalej. CSS jest oczyszczany przed wstrzyknięciem (próby wyjścia poza kontener stylu są neutralizowane) i ładowany tylko wtedy, gdy kampania jest aktywna. Możesz w nim używać zmiennych --dfts-*.

Kod promocyjny i reguła koszyka

W zakładce Kod promocyjny wpisz kod do wyświetlenia na pasku albo wybierz powiązaną regułę koszyka spośród tych, które mają kod: kod zostanie wtedy uzupełniony automatycznie. Możesz też utworzyć nową regułę koszyka przy zapisie (procent, kwota z VAT lub darmowa dostawa, jedno użycie na klienta), a potem dopracować ją w Katalog > Rabaty.

Z opcją Synchronizuj z kampanią reguła przejmuje daty kampanii i jest włączana lub wyłączana razem z nią. W kampanii corocznej jej daty przechodzą na kolejny rok, gdy otworzysz stronę modułu lub zapiszesz kampanię. Karta podsumowuje powiązaną regułę: kod, rabat, status, daty i liczbę zamówień.

Kod promocyjny powiązany z regułą koszyka PrestaShop, utworzoną i zsynchronizowaną z datami kampanii
Kod promocyjny i powiązana reguła koszyka.

Kierowanie

Zakładka Kierowanie ogranicza kampanię do wybranych stron (wszystkie, tylko strona główna lub wszystkie oprócz koszyka i zamówienia) oraz do wybranych grup klientów (niezalogowani odwiedzający należą do grupy „Odwiedzający”). Jeśli kampania o wyższym priorytecie nie dotyczy danej strony lub odwiedzającego, przejmuje ją kolejna trwająca kampania.

Kierowanie kampanii według stron i grup klientów
Kierowanie według stron i grup klientów.

Bezpieczny podgląd

Każda kampania ma link podglądu chroniony unikalnym tokenem o długości 32 znaków. Z listy kampanii kliknij przycisk Preview: sklep otwiera się z zastosowaną oprawą kampanii, dokładnie tak, jak zobaczą ją odwiedzający w dniu premiery.

Podgląd utrzymuje się podczas nawigacji: możesz przeglądać wszystkie strony sklepu. Stały pasek „Podgląd: {nazwa}, Wyjdź” wyświetla się w lewym dolnym rogu; kliknij Wyjdź, aby wrócić do normalnego widoku.

Podgląd jest całkowicie niewidoczny dla odwiedzających: aktywuje się tylko z tajnym linkiem zawierającym właściwy token. Możesz więc sprawdzić bożonarodzeniową oprawę w środku sierpnia albo udostępnić link klientowi do akceptacji, nie zmieniając niczego dla publiczności.

Bezpieczny podgląd kampanii w sklepie przed datą rozpoczęcia
Podgląd w sklepie z paskiem „Podgląd” w lewym dolnym rogu.

Planer roczny

Na górze listy kampanii zaplecze wyświetla syntetyczny pulpit: liczbę kampanii, kampanie włączone, kampanię aktualnie „live” oraz najbliższą kampanię do uruchomienia z liczbą pozostałych dni.

Poniżej oś czasu na dwanaście miesięcy przedstawia każdą kampanię jako kolorowy pasek umieszczony według jej dat. Pionowy znacznik wskazuje bieżący dzień, kampanie powtarzalne przechodzące przez Nowy Rok są pokazane w dwóch segmentach, a każdy pasek jest klikalny i otwiera bezpośrednio edycję kampanii.

Każda kampania ma status: Trwa (z pozostałym czasem), Zaplanowana (z czasem do jej pierwszego rzeczywistego przedziału), Wstrzymana, Ukryta, gdy wygrywa kampania o wyższym priorytecie, Zakończona lub Wyłączona. Panel sygnalizuje nakładanie się kampanii w ciągu najbliższych dwunastu miesięcy i wskazuje, która jest wyświetlana, z linkiem do jej edycji. Planer można przeglądać rok po roku.

Panel kampanii sezonowych: trwająca i następna kampania, nakładanie się i planer roczny
Panel, nakładanie się kampanii i planer roczny.
Lista kampanii ze statusem, okresem, zawartością i działaniami zbiorczymi
Lista kampanii: status, okres, zawartość i wyniki.

Wyniki

Zakładka Wyniki pokazuje dla każdej kampanii: wizyty, podczas których była widoczna (jedna na sesję przeglądarki), kliknięcia w linki paska, banera i bloku strony głównej, współczynnik kliknięć, skopiowane kody, zamknięcia paska oraz ważne zamówienia z kodem powiązanej reguły. Wykres obejmuje ostatnie 30 dni, a lista powtarza te liczby w kolumnie.

Te liczniki są anonimowe: bez plików cookie i bez danych osobowych. Podglądy i boty nie są liczone, podobnie jak odwiedzający blokujący JavaScript.

Wyniki kampanii: wizyty, kliknięcia, współczynnik kliknięć, skopiowane kody i zamówienia z kodem
Zakładka Wyniki z 30 dni.

Duplikowanie, eksport, import

Z poziomu listy akcja Duplikuj tworzy kopię kampanii z nowym tokenem podglądu, domyślnie wyłączoną, której obrazy banerów są fizycznie kopiowane: usunięcie jednej nigdy nie wpływa na drugą. Powiązania ze sklepami są zachowywane.

Przycisk Eksport JSON (na pasku narzędzi) pobiera wszystkie Twoje kampanie do pliku. Formularz Import JSON na pulpicie pozwala wgrać ten plik na innym sklepie. Zaimportowane kampanie przychodzą domyślnie wyłączone; obrazy banerów nie są zawarte w eksporcie.

Multisklep i wielojęzyczność

W kontekście multisklepu każda kampania jest przypisywana do wybranych sklepów przez sekcję Powiązanie ze sklepem formularza. Kampania wyświetla się tylko w sklepach, do których jest przypisana.

Komunikat paska, baner (obraz, link, tekst alternatywny) i blok strony głównej są tłumaczone per język. Uzupełnij każdy język z zakładek językowych formularza.

Integracja dla twórców szablonów

Gdy kampania jest aktywna, moduł dodaje klasy do znacznika body: dfts-active, dfts-campaign-{id}, dfts-effect-{efekt} oraz dfts-preview w trybie podglądu. Możesz dzięki temu precyzyjnie celować swoim CSS.

Zdarzenie JavaScript dfts:ready jest również emitowane na document po zainicjowaniu skryptu, ze szczegółową konfiguracją kampanii. W połączeniu ze zmiennymi CSS --dfts-* pozwala to na integracje szyte na miarę bez ingerencji w moduł.

Wydajność

Moduł jest z założenia lekki. Ustalenie aktywnej kampanii mieści się w jednym zapytaniu SQL memoizowanym na wyświetlenie. CSS i JavaScript frontu ładują się tylko wtedy, gdy kampania jest rzeczywiście aktywna. Nie jest używany żaden override klas: wyłącznie natywne hooki PrestaShop.

Rozwiązywanie problemów

Baner się nie wyświetla

Twój szablon prawdopodobnie nie obsługuje wybranego hooka pozycji. Zmień Pozycję banera na inną wartość z listy.

Kolory nie są stosowane

Sprawdź, czy opcja Zastosuj paletę do szablonu jest włączona. Jeśli tak, a niektóre elementy pozostają bez zmian, Twój szablon używa specyficznych selektorów: dodaj kilka reguł w polu własnego CSS, opierając się na zmiennych --dfts-*.

Efekt się nie animuje

Animacje są celowo wyłączane dla odwiedzających z włączonym ograniczeniem ruchu w systemie operacyjnym i wstrzymywane, gdy karta jest w tle. Sprawdź też, czy wybrany jest efekt inny niż „Brak”.

Dwie kampanie nachodzą na siebie

To oczekiwane zachowanie: wyświetla się tylko jedna kampania, ta z najwyższym priorytetem. Dostosuj priorytety, aby wybrać, która ma pierwszeństwo.

Pasek zmienił miejsce po aktualizacji

W wersji 1.x pasek był wstawiany do nagłówka motywu, co psuło układ Classic i Hummingbird. Wersja 2.0.0 wyświetla go na samej górze strony. Aby wrócić do dawnego położenia, wybierz „W nagłówku (displayTop)” w zakładce Pasek ogłoszeń.

Kampania nie pojawia się o pewnych godzinach

Sprawdź dni tygodnia i przedział godzinowy w zakładce Daty: poza nimi kampania jest „Wstrzymana”. Sprawdź też kierowanie według stron i grup klientów.

Kampania nie uruchamia się o zaplanowanej godzinie

Daty są interpretowane według czasu serwera, który może różnić się od Twojego czasu lokalnego. Sprawdź strefę czasową sklepu w ustawieniach PrestaShop.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia