Dyrektywa Omnibus w Prestashop - gotowe rozwiązanie

Dyrektywa Omnibus w Prestashop - gotowe rozwiązanie

Dyrektywa Omnibus obowiązuje od dawna, ale ekosystem PrestaShop wciąż nie doczekał się natywnej, lekkiej i odpornej na błędy historii cen.

Ani PrestaShop 1.7, ani 8, ani nawet nowa wersja 9 nie posiadają wbudowanego mechanizmu, który śledziłby zmiany cen produktów zgodnie z prawem i prezentował „najniższą cenę z ostatnich 30 dni”.

To przestrzeń, w której większość dostępnych modułów niestety zawodzi. Typowe rozwiązania:

  • opierają się o ciężkie zapisy w bazie danych,

  • potrafią konfliktować z cache, override’ami i modułami promocji,

  • spowalniają sklep – szczególnie przy większych katalogach produktów,

  • są przeładowane funkcjami, które nie mają znaczenia z punktu widzenia Omnibusa.

Dlatego powstała wersja Golden Master Edition – moduł, który nie próbuje „robić wszystkiego”, tylko jedno: zapewnić perfekcyjną, zgodną z dyrektywą historię cen w PrestaShop, działając szybko, lekko i bez ryzyka.
To implementacja dopracowana do granic możliwości: bez SQL, bez konfiguracji, bez obciążeń. Tylko czysta logika i niezawodność.

Takie podejście pokazuje, że budowanie sklepu internetowego w oparciu o PrestaShop to nie tylko funkcje sprzedażowe, ale też stabilność, wydajność i pełna zgodność z obowiązującymi przepisami.

Czytaj więcej o dyrektywie Omnibus: Czym jest dyrektywa omnibus?

Zobacz ofertę: tworzenie sklepów Prestashop.

 

Jak działa DC PS Omnibus? (architektura modułu oparta o Flat File) 📄⚙️

DC PS Omnibus korzysta z podejścia, które w świecie PrestaShop praktycznie nie istnieje: historia cen zapisywana jest w lekkich plikach tekstowych, a nie w bazie danych. Dzięki temu moduł działa błyskawicznie ⚡, nie ingeruje w SQL i pozostaje niewidoczny dla innych modułów czy cache — nawet w sklepach z tysiącami produktów i kombinacji.

Przy instalacji moduł tworzy specjalny katalog history/ 📁, w którym przechowywane są wszystkie dane o zmianach cen. Katalog jest dodatkowo chroniony plikiem .htaccess 🔒, dzięki czemu dostęp do historii jest całkowicie zablokowany z zewnątrz. Dane są bezpieczne i widoczne tylko dla silnika PrestaShop.

Cała architektura została zaprojektowana tak, aby była maksymalnie granularna:
każdy produkt i każda kombinacja ma swój własny plik historii.
To oznacza brak przeciążenia, brak gigantycznych logów 📉 i pełną skalowalność — system odczytuje wyłącznie te pliki, które są rzeczywiście potrzebne.

Dane są przetrzymywane przez 30 dni, zgodnie z wymogami dyrektywy. Starsze rekordy są automatycznie kasowane podczas każdego zapisu, bez potrzeby ręcznej obsługi czy cronów.

To minimalizm, który działa zawsze: lekko, przewidywalnie i całkowicie zgodnie z prawem. ✨

 

 

Instalacja – automatyczne przygotowanie środowiska ⚡📁

Po instalacji modułu cały proces konfiguracji odbywa się w tle — dosłownie w kilka milisekund. DC PS Omnibus sam przygotowuje środowisko do działania, tak aby użytkownik nie musiał robić absolutnie nic. Zero klików, zero ustawień, zero pułapek.

Moduł automatycznie tworzy katalog history/ 📂, w którym przechowywane będą wszystkie pliki z historią cen. Co ważne, katalog jest tworzony z pełnymi uprawnieniami 0777 🔓 — z obejściem mechanizmu umask — dzięki czemu działa bezbłędnie na każdym hostingu i każdej konfiguracji serwera.

Zaraz po utworzeniu katalogu moduł dodaje do niego plik .htaccess 🔒, który blokuje dostęp z zewnątrz. Historia cen jest całkowicie niewidoczna dla użytkowników i crawlerów — odczytać ją może wyłącznie silnik PrestaShop.

A co z panelem ustawień?
Nie ma go — i to celowy projekt ✨
Moduł jest zbudowany tak, aby działał zawsze, niezależnie od wiedzy użytkownika i bez ryzyka błędnej konfiguracji. Instalujesz → działa. Bez przełączników, bez opcji, bez chaosu. Idealne, minimalistyczne rozwiązanie zgodne z filozofią Golden Master Edition.

 

 

Hooki i automatyczna detekcja zmian cen ⚙️📉

DC PS Omnibus działa w pełni automatycznie dzięki podpięciu pod kluczowe hooki PrestaShop. Moduł obserwuje wszystko, co może zmienić cenę produktu — od aktualizacji, przez dodawanie specyficznych cen, aż po ich usuwanie. Dzięki temu nie ma szans, aby jakakolwiek zmiana umknęła historii.

Moduł nasłuchuje na:

  • actionObjectProductUpdateAfter – aktualizacja produktu ✏️

  • actionObjectProductAddAfter – dodanie produktu ➕

  • actionObjectSpecificPriceAddAfter – dodanie reguły ceny 🎯

  • actionObjectSpecificPriceUpdateAfter – edycja reguły ceny 🔧

  • actionObjectSpecificPriceDeleteAfter – usunięcie reguły ceny 🗑️

  • displayProductPriceBlock – wyświetlenie komunikatu Omnibus pod ceną 🏷️

Za każdym razem, gdy w sklepie dzieje się coś, co może wpłynąć na cenę — moduł natychmiast zapisuje historię. Produkty z kombinacjami są śledzone osobno, dlatego każda kombinacja ma swój własny, izolowany plik logów. To daje maksymalną precyzję i pełną zgodność z dyrektywą.

Istotnym elementem jest także ochrona przed nadmiernym zapisem. Dzięki mechanizmowi:

static $processed_ids ⚡
moduł zapisuje historię tylko raz na request, nawet jeśli kilka hooków wywołuje się po kolei. Zero duplikatów, zero zapychań, pełna optymalizacja.

To właśnie dlatego DC PS Omnibus działa tak pewnie i lekko — „w tle”, bez konfiguracji i bez obciążenia sklepu.

 

Mechanizm logowania cen krok po kroku 🧠💾

Sercem DC PS Omnibus jest niezwykle lekki, a jednocześnie piekielnie precyzyjny system logowania cen. Działa on w pełni automatycznie — każda zmiana produktu lub reguły cenowej uruchamia proces zapisu. Całość oparta jest o prosty, odporny na błędy format tekstowy, który nie obciąża ani bazy danych, ani serwera.

 

Co moduł loguje? 📌

Za każdym razem, gdy cena produktu może się zmienić, moduł zapisuje:

  • Aktualną cenę brutto, z pełnym uwzględnieniem kombinacji i reguł cenowych 🏷️

  • Timestamp + cena, w formacie:
    czas|cena ⏱️➡️💰

Każda linia w pliku historii jest prostym, czytelnym rekordem — maksymalnie kompatybilnym i odpornym na błędy.

 

Optymalizacje w logowaniu 🔧⚡

Aby historia była zawsze świeża, a moduł działał bez żadnego wpływu na wydajność, zastosowano kilka kluczowych optymalizacji:

  • Usuwanie wpisów starszych niż 30 dni
    Moduł przy każdym zapisie czyści plik zgodnie z wymogami dyrektywy. ♻️

  • Limit ok. 1000 rekordów na plik
    Chroni przed niekontrolowanym rozrostem logów — idealne dla sklepów z dużą rotacją cen. 📏

  • Brak ponownego zapisu, gdy cena pozostaje taka sama
    Jeżeli różnica między poprzednią a aktualną ceną jest mniejsza niż 0.001, wpis nie zostanie dodany.
    Zero duplikatów. Zero śmieci. 💨

  • Zero SQL = zero overheadu dla sklepu
    Brak tabel, brak relacji, brak indeksów, brak zapytań — moduł nie dotyka bazy danych. 🚀

To właśnie dlatego DC PS Omnibus działa stabilnie nawet w gigantycznych sklepach.
Minimalna forma, maksymalna skuteczność.

 

Jak moduł oblicza „najniższą cenę z 30 dni”? 🏷️📉

Mechanizm wyliczania najniższej ceny jest tak samo lekki, jak cały moduł — działa szybko, nie korzysta z bazy danych i nie generuje żadnych dodatkowych obciążeń. A jednocześnie jest w pełni zgodny z dyrektywą Omnibus i odporny na błędy.

Oto cały proces krok po kroku:

 

1. Wczytanie aktualnego pliku historii 📄

Moduł sięga wyłącznie po jeden konkretny plik powiązany z danym produktem lub jego kombinacją.
Brak zapytań SQL, brak filtrów — tylko szybki odczyt z pliku tekstowego.

 

2. Odfiltrowanie wpisów starszych niż 30 dni ⏱️🧹

Z wczytanej listy zachowywane są tylko te rekordy, których timestamp mieści się w obowiązkowym przedziale 30 dni.
Wszystko starsze zostaje pominięte, tak jak wymaga tego prawo.

 

3. Wybranie najniższej wartości 💰⬇️

Gdy lista zostanie ograniczona do okresu 30 dni, moduł po prostu pobiera minimalną cenę.
Mechanizm jest prosty, bo taki właśnie powinien być — logika Omnibusa nie wymaga niczego więcej.

 

4. Formatowanie zgodnie z locale i walutą 🌍💱

Zanim cena zostanie wyświetlona użytkownikowi, moduł przepuszcza ją przez PrestaShopowe formatowanie walut:

  • zachowuje symbol waluty,

  • odpowiednie separatory,

  • zasady zaokrąglania typowe dla danego języka i regionu.

Dzięki temu komunikat zawsze wygląda naturalnie, profesjonalnie i spójnie z resztą sklepu.

Lekko, szybko i zgodnie z prawem — tak właśnie powinien wyglądać Omnibus w PrestaShop.

 

Frontend: automatyczne wyświetlanie pod ceną 🛒✨

DC PS Omnibus dba nie tylko o poprawne gromadzenie danych, ale również o ich elegancką i bezproblemową prezentację w sklepie. Wyświetlanie informacji o „najniższej cenie z 30 dni” działa całkowicie automatycznie i nie wymaga żadnej ingerencji w szablon.

 

Automatyczne wstrzykiwanie pod ceną 📌

Moduł dodaje komunikat wyłącznie na stronie produktu, aby zachować zgodność z dyrektywą oraz zachować czystość layoutu.
Nie dotyka kategorii, list produktów, modułów promocji ani koszyka — tylko konkretna karta produktu otrzymuje blok Omnibusa.

 

Hook: displayProductPriceBlock → typ after_price 🎯

To najlepszy możliwy punkt zaczepienia, bo działa z każdym motywem (Classic, Warehouse, Panda, niestandardowe projekty).
Moduł nie nadpisuje żadnych tpl ani override’ów — jest maksymalnie kompatybilny.

 

Przykład wyświetlanego komunikatu 🏷️

Najniższa cena z 30 dni: X

Komunikat jest zwracany jako prosty i lekki fragment HTML, dzięki czemu integruje się z dowolnym designem i nie ingeruje w CSS motywu.

 

Dodatkowa ikona Material Icons ℹ️

Aby komunikat był bardziej czytelny, moduł dodaje małą ikonę info_outline, która wprowadza delikatny akcent wizualny i zwiększa zrozumiałość komunikatu.

 

Minimalistyczny styl CSS = zero konfliktów 🎨🔧

Styl jest celowo uproszczony:

  • neutralny kolor,

  • niewielki font,

  • brak agresywnych klas,

  • brak wymuszenia layoutu.

Dzięki temu komunikat wygląda dobrze w każdym motywie, nie nadpisuje stylów i nie powoduje konfliktów z innymi modułami.

DC PS Omnibus robi dokładnie to, czego potrzebujesz: wyświetla zgodną z prawem informację o cenie, nie modyfikując i nie obciążając motywu sklepu.

 

Dlaczego rozwiązanie plikowe jest lepsze niż SQL? 📄🚀

Większość modułów Omnibus dla PrestaShop opiera się na własnych tabelach SQL, indeksach i zapytaniach wykonywanych przy każdej zmianie ceny. W małych sklepach działa to „jakoś”, ale przy większych katalogach zaczyna robić się ciężkie — a czasem wręcz problematyczne.

DC PS Omnibus idzie inną drogą: wszystko zapisuje w lekkich plikach, dzięki czemu omija największe wąskie gardło PrestaShop — bazę danych.

 

Brak ryzyka obciążenia bazy danych 🧠💨

Zero zapytań SQL oznacza zero konfliktów, zero opóźnień i zero wpływu na wydajność panelu administracyjnego czy frontu sklepu.
Operacja zapisu do pliku trwa ułamek milisekundy.

 

Brak kolekcji, indeksów, cronów – nic nie trzeba czyścić 🧹

Moduł nie tworzy żadnych tabel, nie potrzebuje cronów i nie generuje danych, które trzeba czyścić ręcznie.
Wszystko dzieje się automatycznie podczas logowania cen.

 

Każdy produkt = osobny, niezależny log 📦

Zamiast jednej gigantycznej tabeli SQL modul tworzy małe, osobne pliki.
Rezultat?
Brak blokad, brak konfliktów, brak pojedynczych punktów zapalnych.

 

Skalowalność dla gigantycznych sklepów 🏗️⚡

Architektura plikowa idealnie działa w sklepach:

  • z 50 000+ produktów,

  • z 200 000+ kombinacji,

  • z dużą rotacją cen.

Każdy log ładuje się tylko wtedy, gdy naprawdę jest potrzebny.

 

Zero wpływu na aktualizacje PrestaShop 🔄🛡️

Ponieważ moduł nie tworzy żadnych tabel i nie dotyka struktury bazy:

  • aktualizacje PS 1.7, 8 i 9 są w 100% bezpieczne,

  • nic nie trzeba „kompatybilizować” po update,

  • moduł nie psuje migracji ani kopii zapasowych.

Proste pliki → maksymalna szybkość, odporność i skalowalność.
Tak właśnie powinien działać prawdziwy Golden Master Edition.

 

Kompatybilność i odporność modułu 🛡️🔗

DC PS Omnibus został zaprojektowany tak, aby działał zawsze, niezależnie od wersji PrestaShop, liczby modułów, rodzaju produktów czy konfiguracji sklepu. Zero override’ów, zero ryzykownych zmian, zero niespodzianek po aktualizacji.

 

Pełna zgodność z PrestaShop 1.7, 8 i 9 🧩

Moduł działa na całej współczesnej linii PrestaShop — bez dodatkowych mostków, bez hacków, bez wersji „pod konkretną edycję”.
Wszystkie hooki i funkcje są natywnie wspierane.

 

Obsługa produktów prostych i kombinacji 🔄

Niezależnie od struktury katalogu:

  • produkty bez kombinacji,

  • produkty z setkami wariantów,

— każdy z nich otrzymuje własny, precyzyjny log historii cen.

 

Kompatybilny z cenami specyficznymi i promocjami 🎯💸

Moduł rejestruje każdą zmianę wynikającą z:

  • promocji,

  • obniżek,

  • reguł koszykowych,

  • cen specyficznych (Specific Prices).

Nic nie umknie — nawet dynamiczne zmiany na wariantach.

 

Odporność na multistore 🏪🌍

Każdy sklep w multistore posiada własną, niezależną historię lokalną.
Brak konfliktów, brak mieszania cen między sklepami — pełna izolacja.

 

Odporność na moduły cache ⚡🧊

Ponieważ moduł:

  • nie pracuje na bazie danych,

  • nie generuje dynamicznych SQL-i,

  • nie opiera się na override’ach,

— jest w praktyce odporny na wszystkie systemy cache: Smarty, Full Page Cache, Redis, Varnish, LiteSpeed Cache, itp.

DC PS Omnibus to moduł, który po prostu działa — niezależnie od tego, jak duży, skomplikowany czy rozbudowany jest Twój sklep.

 

Zero konfiguracji – dlatego moduł jest tak szybki ⚡🔧

DC PS Omnibus został zaprojektowany w duchu absolutnego minimalizmu: działa od razu po instalacji, bez żadnych ustawień, przełączników czy parametrów, które można przypadkowo błędnie ustawić. To jeden z powodów, dla których moduł jest tak lekki, szybki i w praktyce bezawaryjny.

 

Moduł nie posiada panelu ustawień 🧩

Nie musisz szukać opcji, formularzy czy konfiguratorów — po prostu ich nie ma.
To świadome uproszczenie, które eliminuje 99% problemów typowych modułów Omnibus.

 

Działa natychmiast po instalacji ⚡🚀

Klikasz Instaluj i… to wszystko.
Moduł:

  • tworzy katalog historii,

  • zabezpiecza go,

  • podpina się pod hooki,

  • gotowy do pracy w mniej niż sekundę.

 

Nie da się „zepsuć” konfiguracji 🛡️

Brak opcji = brak możliwości wykonania złej konfiguracji.
Użytkownik, developer, właściciel sklepu — nikt nie może przypadkowo zrobić czegoś, co zaburzyłoby działanie modułu.

 

Idealne dla agencji i developerów 🤝

To moduł typu:

Instalujesz → działa. Zawsze.

Agencje nie muszą tłumaczyć klientom panelu ustawień, a developerzy nie muszą integrować modułu z motywem czy innymi dodatkami.
Zero pracy, zero ryzyka, zero pytań „co mam teraz kliknąć?”.

DC PS Omnibus to przykład, że najlepsze rozwiązania są czasem… po prostu najprostsze.

 

Instalacja modułu – pobieranie z Design Cart i GitHub 🚀📦

Instalacja DC PS Omnibus jest szybka i bezproblemowa. Moduł działa od razu po dodaniu do sklepu, a cały proces można przeprowadzić na dwa sposoby: pobierając paczkę z oficjalnego LAB Design Cart albo bezpośrednio z GitHuba.

 

1. Pobranie modułu z Design Cart (LAB) 🔮

To rekomendowana metoda — w LAB-ie znajdziesz zawsze najnowszą, stabilną i przetestowaną wersję Golden Master Edition.

Pobierz z Design Cart42

 

2. Pobranie modułu z GitHuba 🐙

Wersja dostępna na GitHubie to dokładnie ten sam moduł — publikujemy tam repozytorium dla developerów oraz osób, które chcą podejrzeć kod lub zautomatyzować wdrożenia.

Pobierz z Github

 

3. Instalacja w PrestaShop ⚙️

Niezależnie od tego, skąd pobierzesz moduł, instalacja wygląda identycznie:

  1. Zaloguj się do panelu administracyjnego PrestaShop.

  2. Wejdź w Sklep → Moduły → Menedżer modułów.

  3. Kliknij Prześlij moduł.

  4. Wskaż plik ZIP pobrany z LAB lub GitHuba.

  5. Po kilku sekundach pojawi się komunikat o pomyślnej instalacji.

 

4. Po instalacji – gotowe 🎉

Nie musisz nic konfigurować:

  • moduł tworzy katalog history/,

  • zabezpiecza go,

  • podpina potrzebne hooki,

  • zaczyna śledzić ceny,

  • wyświetla najniższą cenę na stronie produktu.

Instalujesz → działa.
Najszybsza możliwa implementacja Omnibusa dla PrestaShop.