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?

 

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 Cart12

 

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.