Compatibility Layer: eine Codebasis für mehrere PrestaShop-Versionen
Gemeinsame Compatibility Traits gleichen PrestaShop-Versionsunterschiede aus: AJAX-Antworten, Template-Pfade, Hook-Namen und Controller-Signaturen.
Ein Satz Helfer. Mehrere PrestaShop-Generationen.
PrestaShop ändert sich von Version zu Version erheblich. Die Signaturen von Controller-Methoden änderten sich zwischen 1.7 und 8.x. Template-Pfade wurden verschoben. AJAX-Antwortformate unterscheiden sich. Hook-Namen wurden umbenannt. Das Markup des Admin-Bereichs wurde für die Symfony-Integration überarbeitet.
Die meisten Modulentwickler bewältigen das mit über den Code verstreuten if (version_compare)-Prüfungen. Wir lösen es mit einer Kompatibilitätsschicht, die die Unterschiede abfängt, sodass Module gegen eine stabile API entwickeln.
Was sie normalisiert
- AJAX-Antworten: standardisiertes JSON-Antwortformat unabhängig von der PS-Version
- Template-Pfade: gemeinsame Helfer, um den Pfad eines Modul-Templates aufzulösen
- Übersetzung: ein
trans()-Ersatz für 1.6, wo es weder auf Module noch auf Controller oder ObjectModel existiert - Front-Injektionspunkte: liefert die Hooks, die es in der laufenden Version gibt, und sagt klar, wenn eine Version keine anbietet
- Preisformatierung: ein Aufruf, der den Wegfall von
Tools::displayPrice()in PS 9 übersteht
Warum das wichtig ist
Diese Helfer bündeln die Versionsprüfungen, die sonst über jedes Modul verstreut wären. Welche PrestaShop-Versionen ein Modul unterstützt, steht beim jeweiligen Modul und wird dort geprüft.
← Zurück zu Unser Technologie-Stack