Release OXID 7 - Der Sprung aufs neue Level

Der Weg geht immer weiter 

Den Weg, den wir mit OXID 6 eingeschlagen haben, setzen wir für OXID 7 und darüber hinaus konsequent fort.
Vor einigen Jahren mussten wir uns zwischen Refactor und Rewrite entscheiden und haben uns für eine Art Best-of-both-World-Kombination entschieden:

 

  • Erstellung eines neuen, sauberen Cores (interner Namespace) und der alte Core wurde so weit wie möglich und sinnvoll erhalten
  • Die Verwendung von Symfony-Komponenten und mit unser eigenes OXID-Framework ergänzt
  • Einführung klarer Schnittstellen
  • Einführung neuer Shop-Konsole und Bereitstellung mehrerer Befehle zur Installation/Konfiguration/Steuerung des Shops
  • Verwendung des Dependency Injection Containers
  • S.O.L.I.D.-Prinzipien einhalten 
  • Aufräumen, was nicht mehr gebraucht wird

Drei Mechanismen zur Änderung des Framework Standardverhaltens

  • Ereignisabonnenten und Handler

  • Ersetzen oder anpassen eines Dienstes über Dependency Injection Container (deshalb verwenden wir Schnittstellen)

  • Klassenkette über oxNew ändern (um an Orte zu gelangen, wo Events und DI Container uns nicht hinbringen), die eine Vielzahl von Möglichkeiten bieten, eigene Funktionalität auf das Framework aufzusetzen.

     

Wir bauen die Plattform für dich als eine gemeinsame Basis, die Funktionen enthält, die viele Benutzer benötigen und von unserer Software erwarten. Über die Basisplattform hinaus bleibt es unseren Partnern und ihren Kunden überlassen, um daraus das System zu bauen, das ihren Bedürfnissen am besten entspricht.
Es gibt eine Fülle von Dokumentationen und Beispielen, die Entwicklern bei der Arbeit mit der OXID Plattform helfen. Außerdem haben wir immer ein offenes Ohr für dein Feedback.

Lasst uns die Neuerungen von OXID 7 hier etwas ausführlicher darzustellen. 

Die Template Engine

"Eine Template-Engine ist eine Software, die dazu dient, Templates mit einem Datenmodell zu kombinieren, um mehrere Seiten zu erstellen, die auf der gesamten Website das gleiche Aussehen haben." 

Kurz gesagt: Es ist das, was das Shop-Frontend schön aussehen lässt.

Lange Jahre hat der OXID eShop die Smarty Template Engine verwendet, die fest in das Shop-Framework integriert war.

Erste Vorbereitungen, die Template-Engine aus dem Shop-Core in eine (austauschbare) Komponente auszulagern, wurden um OXID 6.2 herum begonnen und mit OXID 7 können wir nun die Template-Engine mittels Dependency Injection komplett ersetzen.


Wir liefern die OXID 7 Compilation mit der modernen Template Engine: twig <Link zu twig.symfony.com/>.

Diese Template-Engine ist nicht wie in früheren Versionen in den OXID-Shop-Kern integriert, sondern eine Komponente (twig-component, twig-component-pe/ee). Diese Komponente wird mit einer services.yaml geliefert, die dem Symfony DI Container mitteilt, welche Dienste registriert werden müssen.

Mit der twig-Komponente haben wir

 

OxidEsales\EshopCommunity\Internal\Framework\Vorlagenerstellung\TemplateEngineSchnittstelle

OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateRendererBridgeInterface

 

Schnittstellen, die auf OxidEsales\Twig\TwigEngine bzw. OxidEsales\Twig\Bridge\TwigTemplateRendererBridge zeigen.

 

Diese beiden Schnittstellen sind also die zentrale Stelle, an der die Template-Engine in das Shop-Framework eingehängt wird. Da die Schnittstellen klar definiert sind, ist es kinderleicht, die Twig-Komponente gegen eine andere Komponente auszutauschen und den Shop eine ganz andere Template-Engine verwenden zu lassen. So wie das gute alte Smarty, das wir zwar nicht mehr aktiv unterstützen, aber ebenfalls als Komponente verfügbar haben. Sie ist nicht Teil der OXID eShop 7.0 Kompilation, aber bei Bedarf kann die Standard Twig Komponente durch die Smarty Komponente ersetzt werden.


Das Kleingedruckte: eine Template-Engine braucht Templates, die sie rendern kann, also stelle bitte sicher, ein Theme (wie wir es nennen) zu haben, das zur Template-Engine passt.


Und wir haben auch ein neues Theme auf Basis von Bootstrap 5 (APEX) und neue Demo-Daten hinzugefügt. 

Der OXID eShop 7.0 ist ein weiterer großer Schritt auf dem Weg, wie wir bei OXID unsere Plattform in Zukunft aufbauen wollen. Wir haben ein neues Level erreicht, aber der Weg geht immer weiter.

 

Tel. +49 761 36889 0
Mail. [email protected]