Die Veröffentlichung der neuen OXID eShop Version 6.2 steht kurz bevor. Wir haben dies zum Anlass genommen und uns die Neuerungen im aktuellen Release Candidate 2 im Detail angesehen.
Weniger Code dank Events
- Symfony EventDispatcher Komponente als Basis
- Nutzung bereits vorhandener Events oder Erweiterung für eigene Events
- Beispiel: (Nach dem Aktualisieren des Warenkorbs)
OxidEsales\EshopCommunity\Internal\ShopEvents\BasketChangedEvent
- Dokumentation
- Slides „EVENTS IN DER PRAXIS – how to make use of events in OXID eShop“
OXID Console
- Symfony Console Komponente als Basis.
- Ausführen von vorhandenen und eigenen Commands über CLI.
- Beispiel:
vendor/bin/oe-console oe:module:activate <module-id> --shop-id=<shop-id>
- Dokumentation
Dependency Injection / Services
- Symfony DI Container Komponente als Basis.
- Nutzung eigener Services im gesamten OXID-Framework.
- Flexiblere sowie unabhängigere Entwicklung von Core-Erweiterungen.
- Beispiel:
$containerFactory = ContainerFactory::getInstance();
$container = $containerFactory->getContainer();
$moduleActivationService = $container->get(ModuleActivationBridgeInterface::class); - Dokumentation
- Slides „Dependency injection in der OXID Projektentwicklung“
Überarbeitete Modulkonfiguration
- Speichern aller Modulinformationen (analog metadata.php) in YAML-Files.
- Überschreiben einzelner Werte durch „Environment-Files“ möglich.
- Einspielen einer definierten Shop-Modulkonfiguration (1.yaml) über OXID Console.
- Modulinstallation per composer oder manuell über OXID Console.
- Dokumentation
- OXID Console Moduleactivator
optionale Templates mit TWIG
- Templates können alternativ zu SMARTY jetzt auch mit TWIG genutzt werden.
- Konvertierung von Smarty zu Twig mit Tool (Github) möglich.
- Dokumentation
Unterstützung neuer PHP-Versionen und MariaDB
- OXID 6.1 wird nur bis PHP 7.1 supportet.
- Ab OXID 6.2 auch Unterstützung von PHP 7.2/7.3 und 7.4.
- Offiziell ist es jetzt auch möglich MariaDB (getestet mit 10.4) alternativ zu MySQL zu nutzen.
Eigene „Shop offline“ Logik
- Derzeit wird bei Problemen (Error 500) die sog. „Shop offline“ Meldung (offline.html) angezeigt.
- Sofern die Datei
offline_cust.php
im Shop-Root vorhanden ist, kann hiermit in Zukunft eigene Logik verwenden werden, z. B. für besseres SEO-Handling
Testing Framework
- PHPUnit wurde auf Version 6 aktualisiert
- Codeception für Akzeptanz-Tests wird verwendet
- Dokumentation/Changelog
Neben den soeben augeführten Punkten gab es außerdem noch Änderungen im Bereich Modulhandling (Aktivierung, Deaktivierung, Import, Export), Verwendung von QueryBuilder in Modulen, Aktualisierung des Metapackages und der Unterstützung des NGINX Reverse Proxy Moduls (nur Enterprise Edition). Das gesamte Changelog gibt es hier.
Sneak-Preview: Noch nicht im Release, aber auf dem Weg, die neue OXID GraphQL Schnittstelle. ;-)
Wir hoffen an dieser Stelle einen kurzen Einblick über die neue OXID Version 6.2 geben zu können und freuen uns auf das baldige Release.