Moduł generuje pliki produktowe dla porównywarek i systemów reklamowych – Google Shopping, Meta, Ceneo i ChatGPT – i udostępnia je pod stałym adresem chronionym tokenem.

Co moduł robi

Feedy są definiowane w panelu (kontroler AdminPdFeeds) i przechowywane w tabeli ps_pd_feeds_feed; każde uruchomienie generatora zapisuje wiersz do ps_pd_feeds_log – datę, status, liczbę produktów, czas trwania i komunikat. Gotowy plik udostępnia kontroler front office feed.

Wymagania

  • PrestaShop 1.6, 1.7, 8 lub 9.
  • Możliwość wywołania adresu URL z zewnątrz, jeśli generowanie ma iść z crona.
  • Brak ionCube.

Instalacja

  1. Panel → Moduły → Menedżer modułów → Wgraj moduł.
  2. Instalator tworzy obie tabele i zakładkę Feedy produktowe w panelu.
  3. Dodaj pierwszy feed: nazwa, platforma, język, obsługa wariantów, ograniczenie do kategorii lub producenta.

Adres feedu

Każdy feed dostaje własny token i jest dostępny pod adresem:

/index.php?fc=module&module=pd_feeds&controller=feed&id_feed=1&token=XXXX

Token jest sprawdzany porównaniem odpornym na atak czasowy; adres bez tokenu albo z niepoprawnym zwraca 403. Ten adres wkleja się w Google Merchant Center, Meta Commerce Manager albo panel Ceneo.

Generowanie automatyczne

Wszystkie feedy naraz przelicza wywołanie:

/index.php?fc=module&module=pd_feeds&controller=feed&regenerate=1&cron_token=XXXX

gdzie cron_token musi się zgadzać z wartością klucza PD_FEEDS_CRON_TOKEN z konfiguracji modułu. Wywołanie warto podpiąć pod zadanie cron raz na dobę, w godzinach małego ruchu. Pojedynczy feed można też przeliczyć ręcznie przyciskiem Generuj teraz na liście.

Dziennik

Przy każdym feedzie jest odnośnik Dziennik z historią generowania: data, status, liczba produktów, czas trwania i komunikat błędu. To pierwsze miejsce, do którego warto zajrzeć, gdy platforma zgłasza, że plik jest pusty albo nieaktualny.

Rozwiązywanie problemów

Platforma odrzuca produkty z powodu braku ceny lub dostępności

Porównywarki wymagają kompletu pól. Sprawdź, czy produkty mają ustaloną cenę, stan magazynowy i zdjęcie główne – produkty bez zdjęcia bywają odrzucane w całości.

Feed jest pusty

Najczęściej dlatego, że ograniczenie kategorii albo producenta nie obejmuje żadnego aktywnego produktu, albo wybrany język nie ma przetłumaczonych nazw. Dziennik pokaże wtedy zero produktów przy statusie powodzenia.

Generowanie przerywa się w połowie

Duże katalogi potrafią przekroczyć max_execution_time. Uruchamiaj generowanie z crona, a nie z panelu – żądanie z panelu podlega limitowi czasu serwera WWW.

Ceny w feedzie różnią się od cen w sklepie

Feed liczy ceny w walucie i języku ustawionych dla feedu. Przy kilku walutach warto zrobić osobny feed dla każdej platformy i rynku, zamiast jednego wspólnego.

Strona modułu w sklepie

Ładowanie...
Powrót do góry