Publikováno: 08.10.2022

Modul v PrestaShopu je rozšíření, které přidává nebo upravuje funkčnost e-shopu bez zásahu do jádra systému. Umožňuje například napojit platební brány, dopravce, ERP, marketingové nástroje nebo upravit objednávkový proces.
Každý aktivní modul je součástí běhu aplikace. Může spouštět databázové dotazy, načítat vlastní skripty a zasahovat do logiky objednávky. Proto má přímý vliv na výkon, kompatibilitu i budoucí upgrade projektu.
PrestaShop je navržen jako modulární platforma. Jádro pokrývá základní funkce (produkty, objednávky, zákazníky), ale většina reálných projektů se bez dalších rozšíření neobejde.
Moduly umožňují:
Zkušenost z praxe ukazuje, že většina technických problémů u větších projektů nevzniká v jádře, ale v interakci mezi moduly.
Z technického pohledu může modul:
Hook je standardní rozšiřovací mechanismus. Modul se „přihlásí“ k určité události a reaguje na ni. Tento způsob je obecně stabilnější a lépe udržovatelný při upgradu.
Override přepisuje existující třídu jádra nebo jiného modulu. To umožňuje hlubší zásah do logiky, ale zvyšuje riziko konfliktů a problémů při upgradu mezi hlavními verzemi (např. 1.7 → 8.x), kde se struktura tříd může změnit.
V praxi jsou override častým zdrojem kolizí, zejména pokud je používá více modulů současně.
Potřeby se liší podle typu projektu.
Obvykle potřebuje:
Zde je klíčová jednoduchost a stabilita checkoutu.
Typicky zahrnuje:
Zde je důležitá optimalizace výkonu a kontrola databázové zátěže.
Typický scénář:
V praxi se tyto konflikty projeví například náhodně nefunkčním tlačítkem „Objednat“ nebo nesprávným nastavením stavu objednávky.
Například:
Výsledkem mohou být konfliktní skripty nebo nestabilní DOM manipulace.
Každý modul může:
Typickým symptomech špatně optimalizovaného modulu je výrazný nárůst počtu SQL dotazů při načítání produktové stránky nebo zvýšené TTFB.
V multistore instalacích se rizika násobí:
Při výběru modulu je proto vhodné ověřit jeho kompatibilitu s multistore režimem.
Upgrade je jeden z nejrizikovějších momentů životního cyklu projektu.
Typická situace:
Důsledkem může být:
Před upgradem je vhodné:
Při výběru modulu je vhodné hodnotit:
U modulů zasahujících do checkoutu nebo fakturace je vhodné preferovat řešení s dlouhodobou historií a stabilní podporou.
Z provozního hlediska se osvědčuje:
Důležité je také zkontrolovat, zda po odinstalaci modulu nezůstaly override nebo databázové tabulky, které by mohly ovlivnit další vývoj projektu.
Neexistuje univerzální číslo.
Rozhodující je:
Největší riziko nepředstavuje samotný počet modulů, ale nekontrolovaná architektura a absence pravidelného auditu.
Moduly jsou důvodem, proč je PrestaShop flexibilní platformou. Zároveň představují hlavní zdroj komplexity systému.
Největší riziko nepředstavuje počet modulů, ale jejich nekontrolované vrstvení bez jasné architektonické strategie.