OXID 6 Tipps & Tricks

21. November 2017

 

Bereits zum Partnertag 2016 hat OXID die neue Version Ihres eShops vorgestellt, zumindest das was zum damaligen Zeitpunkt schon fertig war. Dann hat es nochmal ein Jahr bis zum diesjährigen Partnertag gedauert bis der OXID eShop 6 veröffentlicht wurde. Gut Ding will Weile haben ;-) …

Wir haben uns natürlich in der Zwischenzeit auch ausführlich mit der neuen Version auseinander gesetzt. An dieser Stelle möchten wir euch ein paar wichtige Learning sowie Links zur Verfügung stellen.

Die neue OXID 6 ist mehr als nur ein Major-Release, mehr als nur ein Update von 5.3 auf 6.0. OXID hat sich im Kern modernisiert, verschlankt und fit für die aktuellen und zukünftigen Herausforderungen des Marktes gemacht. Dabei bleiben der modulare Aufbau und die hervorragende Skalierbarkeit die OXID im Mittelstand so erfolgreich machen auch in Zukunft erhalten. (sologics.de)

1. Allgemeines

Wir haben drei interessante Blogposts gefunden welche die neue Version aus unterschiedlichen Blickwinkeln beschreiben:

2. Modulinstallation

Primär erfolgt die Modulinstallation über composer. Hierbei werden durch das Autoloading die Module innnerhalb des Shops-Frameworks automatisch „bekannt gemacht“. Es stehen jedoch mehrere Möglichkeiten zur Installation eines Moduls zur Verfügung:

3. Datenbank-Transaktionen

In OXID 6 wurde auch der Datenbanklayer doctrine integriert, welcher Datenbank-Transaktionen mit sich bringt. Prinzipiell hat dies sehr viele Vorteile, bringt aber auch das ein oder andere Problem mit sich. Eine aktuelle Diskussion hierüber gibt es in der oxid-dev-general Mailingliste.

4. Debugging

Durch den Einzug von PHP 7 hat sich auch das Exception-Handling geändert. Dies führt in vielen Fällen zu einer nicht wirklich aussagekräftigen Fehlermeldung:

[11 Nov 09:28:27.571274 2017] [uncaught error] [type E_ERROR] [file /var/www/html/vendor/oxid-esales/oxideshop-ce/source/Core/Exception/ExceptionHandler.php] [line 114] [code ] [message Uncaught TypeError: Argument 1 passed to OxidEsales\EshopCommunity\Core\Exception\ExceptionHandler::handleUncaughtException() must be an instance of Exception, instance of ParseError given in /var/www/html/vendor/oxid-esales/oxideshop-ce/source/Core/Exception/ExceptionHandler.php:114 Stack trace: #0 [internal function]: OxidEsales\EshopCommunity\Core\Exception\ExceptionHandler->handleUncaughtException(Object(ParseError)) #1 {main} thrown]

Wir haben hierzu bei OXID einen Pull Request eingereicht. Den aktuellen Stand sowie Tipps zum Debuggen findet ihr an dieser Stelle. UPDATE: Mittlerweile haben wir auch ein kleines Modul veröffentlicht. ;-)

5. Compilations & Komponenten

Der neue eShop wird in sog. Compilations ausgeliefert. Eine Compilation ist ein Package, bestehend aus mehrern Komponenten wie OXID eShop, Flow Theme, PayPal Modul, … Die aktuellste Version und deren genauen Inhalt findet ihr auf Github, weitere Informationen in der Dokumentation.

6. Weitere Links

Solltet ihr jetzt immernoch Lust haben euch mit OXID 6 zu beschäftigen, dann ladet euch unser Docker-Environment von github herunter. In nur fünf Minunten bekommt ihr damit einen lauffähigen Shop.