PS PrestaShop Średnio zaawansowany

DataFirefly Live Shopping: kompletny przewodnik

Instalacja, konfiguracja i prowadzenie sprzedaży na żywo: natywne wideo (HLS / MP4 / embed), Studio w czasie rzeczywistym, oferty flash, czat, przypomnienia e-mail, powtórki i natywny koszyk dla PrestaShop 1.7, 8 i 9.

Zaktualizowano Wersja modułu 1.1.0

Wprowadzenie

Moduł DataFirefly Live Shopping (dflive) zamienia sklep PrestaShop w platformę sprzedaży wideo na żywo. Prowadzisz transmisję, przypinasz produkty w czasie rzeczywistym, uruchamiasz oferty flash, klienci dodają produkty do koszyka bez opuszczania transmisji, a sesja pozostaje dostępna jako powtórka. Wszystko działa w Twoim sklepie: bez zewnętrznej platformy live shoppingu i bez abonamentu.

Trzy filary: natywne wideo (HLS, MP4 lub embed), Studio w czasie rzeczywistym w panelu do prowadzenia transmisji oraz warstwa zakupowa (przypinanie produktów, oferty flash, natywny koszyk, czat, reakcje, social proof, przypomnienia e-mail).

Zgodność

  • PrestaShop od 1.7.0 do 1.7.8, 8.x i 9.x (od wersji 1.1.0 modułu)
  • PHP od 5.6 do 8.3, zależnie od wersji PrestaShop
  • Motywy Classic i Hummingbird oraz motywy na nich oparte
  • Jeden sklep i multistore
  • Wielojęzyczność (5 języków w zestawie: FR, EN, ES, DE, IT)
  • Brak zależności (ani Composera, ani frameworka); hls.js jest wbudowany w moduł
  • Zgodny z hostingiem współdzielonym (synchronizacja przez polling AJAX, bez WebSocket i SFU)

Interfejs modułu jest przetłumaczony na francuski, angielski, hiszpański, niemiecki i włoski. W sklepie po polsku teksty modułu wyświetlają się po francusku (język źródłowy), dopóki ich nie przetłumaczysz w Międzynarodowe > Tłumaczenia. Dlatego poniżej przyciski podano z ich oryginalną francuską nazwą. W PrestaShop 1.7.0–1.7.5 część tekstów (system XLF) pozostaje po francusku także w pozostałych językach.

Wymagania

Moduł odpowiada za odtwarzanie wideo i całą warstwę zakupową, ale źródło wideo zapewniasz Ty. W zależności od trybu:

  • HLS: strumień .m3u8 z własnego serwera HLS, Mux lub Cloudflare Stream, zasilany enkoderem takim jak OBS.
  • MP4: adres publicznie dostępnego pliku .mp4.
  • Embed: transmisja YouTube, Twitch lub Vimeo (adres lub kod <iframe>).

Aby działały przypomnienia, sklep musi mieć skonfigurowaną wysyłkę e-maili (Zaawansowane > E-mail).

Zalecany jest HTTPS: autoodtwarzanie i pełny ekran działają lepiej w sklepie obsługiwanym przez HTTPS, co dotyczy już prawie wszystkich sklepów produkcyjnych.

Instalacja

  1. W panelu otwórz Moduły > Menedżer modułów.
  2. Kliknij Załaduj moduł i wybierz plik dflive.zip.
  3. Po instalacji otwórz Sprzedaż > Live Shopping > Lives & Replays.

Podczas instalacji moduł tworzy swoje tabele (sesje, produkty sesji, wiadomości, zdarzenia, obecność, przypomnienia), rejestruje zakładki w Sprzedaż, dodaje trasy /live i /live/{id}-{slug} oraz włącza widget strony głównej.

Aktualizacja z wersji 1.0.0

  1. W Moduły > Menedżer modułów załaduj nowy plik dflive.zip (lub podmień folder modules/dflive przez FTP).
  2. Kliknij Aktualizuj w wierszu modułu, jeśli PrestaShop to zaproponuje.

Skrypt aktualizacji 1.1.0 uruchamia się automatycznie, bez utraty danych. Skrypt:

  • dodaje potrzebne kolumny (ochrona przed floodem dla gości, język i sklep przypomnień);
  • przypisuje istniejące transmisje do wszystkich sklepów;
  • zastępuje puste daty zapisane jako 0000-00-00 wartościami pustymi (NULL);
  • usuwa niepotrzebny już hook displayHeader.

Jeśli korzystasz z CCC (łączenie CSS i JS), po aktualizacji wyczyść pamięć podręczną PrestaShop (Zaawansowane > Wydajność > Wyczyść pamięć podręczną), aby wczytały się nowe pliki odtwarzacza.

Tworzenie transmisji

W Sprzedaż > Live Shopping > Lives & Replays kliknij Dodaj nowy. Formularz ma zakładki:

Ogólne

  • Tytuł i opis transmisji (wielojęzyczne).
  • Prowadzący: nazwa wyświetlana jako host w czacie i pod wideo.
  • Zaplanowana data / godzina: uruchamia odliczanie u widza.
  • Status: zaplanowana, na żywo lub zakończona. Statusem można sterować także ze Studio; zmiana w formularzu ma te same skutki (daty, czyszczenie ofert, aktualizacja u widzów).
  • Obraz okładki: JPG, PNG, GIF lub WebP, wyświetlany przed transmisją i na listach. Sprawdzany jest rzeczywisty typ pliku: inne pliki są odrzucane.

Wideo

  • Typ źródła wideo: HLS, MP4 lub embed.
  • Źródło wideo: adres .m3u8, adres .mp4 albo adres / kod <iframe> embed, zależnie od typu. W przypadku kodu embed u widza używany jest tylko adres iframe.
  • Adres powtórki (VOD) (opcjonalnie): np. nagranie z serwera HLS, odtwarzane automatycznie po zakończeniu transmisji.

Produkty

Przypisz produkty prezentowane w transmisji za pomocą wyszukiwarki AJAX (nazwa, indeks lub ID). Przeciągnij i upuść wiersze, aby ustalić kolejność. Wyłączony produkt pozostaje na liście, ale nie jest pokazywany podczas transmisji.

Opcje

Włącz lub wyłącz czat, reakcje i powtórkę dla tej sesji oraz jej widoczność w sklepie. W multistore wybierz sklepy, w których transmisja jest publikowana.

SEO

Uzupełnij meta tytuł, meta opis i opcjonalnie przyjazny URL strony transmisji (puste pole zostanie wygenerowane z tytułu).

Nadawanie strumienia

Dla transmisji HLS zasada jest następująca:

  1. Skonfiguruj enkoder (np. OBS) do nadawania na serwer HLS, Mux lub Cloudflare Stream.
  2. Skopiuj wyjściowy adres .m3u8 i wklej go w polu Źródło wideo sesji.
  3. Rozpocznij nadawanie w enkoderze, otwórz Studio i kliknij Lancer le live (uruchom transmisję).

Strumień ładuje się u widzów dopiero po uruchomieniu transmisji. Jeśli strumień HLS jest chwilowo niedostępny (enkoder startuje później, przerwa w sieci), odtwarzacz automatycznie ponawia próbę.

Moduł nie wiąże Cię z żadną infrastrukturą: wybierasz własny łańcuch nadawczy (własny serwer lub chmura) i po prostu wklejasz adres. Do szybkiego testu wystarczy plik MP4 lub embed YouTube / Twitch.

Studio (reżyserka)

Studio to reżyserka w panelu. Otwórz je przyciskiem Studio na liście transmisji.

  • Lancer le live / Terminer (uruchom / zakończ): zmienia status sesji. Przy starcie osoby zapisane na przypomnienie dostają e-mail. Po zakończeniu trwające oferty flash są usuwane, a produkt odpinany.
  • Épingler (przypnij produkt): jego karta od razu pojawia się na wideo widzów, także tych, którzy dołączą później. Przypięcie produktu automatycznie odpina poprzedni. Moment pierwszej prezentacji jest zapisywany dla osi czasu powtórki.
  • Offre flash (oferta flash): wpisz rabat (np. 20% lub 10) i w razie potrzeby czas trwania (od 5 do 60 minut lub bez limitu). Moduł tworzy w locie SpecificPrice, a nowa cena od razu pojawia się u widzów. Przycisk × kończy ofertę i przywraca cenę regularną u wszystkich.
  • Annonce épinglée (przypięte ogłoszenie): wyświetla baner na wideo widzów i dodaje przypiętą wiadomość do czatu.
  • Wiadomość prowadzącego: pole pod czatem pozwala pisać w imieniu hosta.
  • Moderacja: ukrywanie, pokazywanie lub przypinanie dowolnej wiadomości. Ukryta wiadomość znika także u widzów, którzy już ją otrzymali.
  • Statystyki na żywo: liczba widzów, reakcji i zapisów na przypomnienia w czasie rzeczywistym.

Studio wysyła zdarzenia (przypięcie, oferta, ogłoszenie, zmiana statusu, ukrycie), które widzowie odbierają w następnym cyklu pollingu. Interwał ustawisz w konfiguracji modułu.

Przypomnienia e-mail

W zaplanowanej sesji widz wpisuje swój e-mail (uzupełniony automatycznie, jeśli jest zalogowany) i klika przycisk zapisu (Me prévenir w interfejsie francuskim). Liczba zapisanych jest widoczna na stronie transmisji i w Studio.

Po kliknięciu przycisku uruchomienia transmisji od razu wychodzi pierwsza partia e-maili; pozostałe są wysyłane partiami po 20, dopóki Studio jest otwarte. Każdy zapisany otrzymuje wiadomość w języku, w którym się zapisał (FR, EN, ES, DE lub IT; dla innych języków, w tym polskiego, po angielsku), z bezpośrednim linkiem do transmisji. Każda osoba jest powiadamiana tylko raz.

Szablony znajdują się w modules/dflive/mails/{język}/dflive_reminder.html i .txt. Aby wysyłać e-mail po polsku, skopiuj folder mails/en do mails/pl i przetłumacz pliki.

Strona widza

Strona transmisji (/live/{id}-{slug}) zawiera:

  • Odtwarzacz z oznaczeniem transmisji na żywo i liczbą widzów. Przeglądarki pozwalają na autoodtwarzanie tylko bez dźwięku: na wideo pojawia się przycisk włączenia dźwięku.
  • Kartę przypiętego produktu na wideo, z przyciskiem dodania do koszyka.
  • Listę produktów transmisji, każdy dodawany do natywnego koszyka PrestaShop jednym kliknięciem. Blok koszyka motywu odświeża się bez otwierania okna, aby nie przerywać transmisji. Uwzględniane są stany magazynowe, minimalne ilości i reguły koszyka; dla produktu z kombinacjami dodawana jest kombinacja domyślna.
  • Czat (klienci i, jeśli włączono, goście) z ochroną przed floodem, wiadomościami prowadzącego i animowanymi serduszkami.
  • Ogłoszenia prowadzącego jako baner na wideo.
  • Powiadomienia social proof o dodaniu produktu do koszyka przez innego widza.

W zaplanowanej sesji widz widzi odliczanie (według czasu serwera) i może zapisać się na przypomnienie. Po rozpoczęciu transmisji strona automatycznie przechodzi w tryb na żywo, bez przeładowania.

Powtórki i oś czasu produktów

Po zakończeniu transmisji strona automatycznie przechodzi w tryb powtórki:

  • jeśli podano adres powtórki, wczytywane jest nagranie z kontrolkami odtwarzania;
  • w transmisji typu embed embed pozostaje widoczny (lub adres powtórki, jeśli go podano);
  • bez źródła powtórki wyświetla się ekran zakończenia transmisji.

Podczas odtwarzania powtórki każdy produkt pojawia się na wideo w momencie, w którym został po raz pierwszy przypięty na żywo. Czas liczony jest od uruchomienia transmisji: dla dokładnej synchronizacji nagranie powinno zaczynać się w chwili kliknięcia przycisku uruchomienia.

Jeśli opcja powtórki jest wyłączona, strona zakończonej transmisji przekierowuje na listę /live.

Ustawienia modułu

Strona konfiguracji (Moduły > Menedżer modułów > DataFirefly Live Shopping > Konfiguruj) grupuje ustawienia globalne. Wartości spoza zakresu są automatycznie korygowane.

  • Interwał pollingu (domyślnie 3000 ms, od 1000 do 60 000): częstotliwość odświeżania czatu i zdarzeń w trakcie transmisji. Przed transmisją i w powtórce tempo jest automatycznie zmniejszane.
  • Czat na żywo i czat gości: włączają czat i ewentualnie udział niezalogowanych odwiedzających.
  • Reakcje i social proof: włączają serduszka i powiadomienia o dodaniu do koszyka.
  • Limit czasu widza (domyślnie 30 s, od 10 do 600): czas, po którym nieaktywny widz przestaje być liczony.
  • Maks. długość wiadomości (domyślnie 300, od 20 do 500) i ochrona przed floodem (domyślnie 3 s, 0 aby wyłączyć): porządkują czat. Dla gości ochrona działa według adresu IP (zapisywanego jako skrót, nigdy jawnie).
  • Widget strony głównej i liczba transmisji (domyślnie 4, od 1 do 24): sterują blokiem na stronie głównej.

Strona listy i widget strony głównej

Strona /live pokazuje transmisje trwające, nadchodzące (najbliższe jako pierwsze) i powtórki (najnowsze jako pierwsze). Widget strony głównej wyróżnia te sesje w ustawionym limicie. W multistore każdy sklep pokazuje tylko przypisane do niego transmisje.

Bezpieczeństwo

  • Czat, dodawanie do koszyka i zapis na przypomnienia są chronione standardowym tokenem anty-CSRF PrestaShop.
  • Wiadomości czatu są oczyszczane z HTML przed wyświetleniem.
  • Jako okładka akceptowane są tylko prawdziwe obrazy, a folder uploadu blokuje wykonywanie skryptów.
  • W kodzie embed używany jest tylko adres iframe: do strony nie trafiają żadne atrybuty ani skrypty.

FAQ i rozwiązywanie problemów

Wideo się nie uruchamia

Sprawdź typ i źródło wideo. Dla HLS upewnij się, że adres .m3u8 jest publicznie dostępny, a enkoder nadaje; odtwarzacz automatycznie ponawia próby przez około 90 sekund. Dla embed sprawdź, czy adres YouTube, Twitch lub Vimeo jest poprawny. Przed uruchomieniem transmisji wideo nie jest ładowane: to normalne.

Transmisja jest bez dźwięku

To zasada przeglądarek: autoodtwarzanie jest dozwolone tylko bez dźwięku. Widz klika przycisk włączenia dźwięku na wideo.

Cena oferty flash nie zmienia się u widzów

Oferta działa przez SpecificPrice tworzony w locie i jest przekazywana w następnym cyklu pollingu. Sprawdź interwał pollingu, czy oferta nie została już zakończona i czy nie minął jej czas. Rabat kwotowy równy cenie produktu lub wyższy jest odrzucany.

Czat się nie wyświetla lub odrzuca wiadomości

Sprawdź, czy czat jest włączony dla sesji i globalnie. Dla niezalogowanych odwiedzających musi być włączony czat gości. Ochrona przed floodem wymusza minimalny odstęp między wiadomościami. Jeśli pojawia się prośba o przeładowanie strony, sesja odwiedzającego się zmieniła (np. logowanie w innej karcie): wystarczy przeładować.

Zapisani nie otrzymali e-maila z przypomnieniem

Sprawdź konfigurację e-mail sklepu (Zaawansowane > E-mail, z e-mailem testowym) i dziennik zdarzeń (Zaawansowane > Logi). E-maile wychodzą przy starcie transmisji, a potem partiami, dopóki Studio jest otwarte: zostaw Studio otwarte do zakończenia wysyłki.

Odliczanie się nie wyświetla

Odliczanie pojawia się tylko w sesjach zaplanowanych z podaną datą. Bez daty wyświetla się komunikat o zbliżającym się starcie.

Licznik koszyka się nie aktualizuje

Produkt jest dodawany do koszyka; odświeżenie bloku koszyka zależy od modułu koszyka motywu (ps_shoppingcart). Jeśli używasz CCC, wyczyść pamięć podręczną po aktualizacji modułu.

Czy moduł działa na hostingu współdzielonym?

Tak. Synchronizacja w czasie rzeczywistym korzysta z pollingu AJAX, bez serwera WebSocket i SFU, co zapewnia zgodność z typowymi hostingami współdzielonymi.

Historia wersji

1.1.0 — 26 października 2026

  • Zgodność z PrestaShop od 1.7.0 do 1.7.8 (PHP od 5.6 do 8.3), oprócz 8 i 9.
  • Przypomnienia wysyłane e-mailem przy starcie transmisji (5 języków).
  • Powtórki: automatyczne przełączenie, wideo nie jest już zasłonięte, oś czasu produktów.
  • Przycisk włączenia dźwięku, automatyczne wznawianie HLS, przypięty produkt widoczny dla spóźnionych widzów.
  • Oferty flash z czasem trwania, przywracanie ceny regularnej po zakończeniu.
  • Multistore: wybór sklepów dla każdej transmisji.
  • Bezpieczeństwo: token anty-CSRF, kontrola uploadu, ochrona przed floodem po IP, filtrowany embed.
  • Przyjazne adresy, meta SEO, okruszki, przeciąganie produktów, ogłoszenia jako baner.

1.0.0 — 6 czerwca 2026

  • Pierwsza wersja dla PrestaShop 8 i 9.
Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia