OXID vs Shopware: Templating im Vergleich

am 18. März 2014

Templating

Allgemein

Shopware und OXID eShop setzen beide Smarty ( http://www.smarty.net/ ) ein. Shopware Smarty in der Version 3. OXID Smarty in einer stark modifizierten Version 2.

Wenngleich beide Shopsysteme Smarty einsetzen, so unterscheiden sie sich grundsätzlich in ihrer Arbeitsweise.

Arbeitweise Shopware

Bei Shopware wird der Ansatz verfolgt, dass das Template in erster Linie vom Web-Designer bearbeitet wird, und dort nur die Präsentation enthalten ist. Businesslogik (= die Funktion der Seite) hat hier nichts zu suchen (die gehört in den Controller). Deshalb sind die Template-Konstrukte einfach gehalten. Auch sind während der Ausführung alle Variablen vorhanden.

Dies entspricht den „Best Practices“ für den Umgang mit Templates (http://www.smarty.net/best_practices).

Shopware Template Code

Shopware Template Code

Arbeitweise OXID eShop

OXID eShop auf der anderen Seite tritt diese Best Practices mit den Füßen. Entsprechend wurde die eingesetzte Smarty version 2 stark modifiziert, so dass diese sehr komplexe Sprachkonstrukte zulässt (siehe Screenshot), die auch massenhaft Anwendung finden. Auch ist es so, dass das Template selber die benötigten Werte anfordert, in dem es Methoden im Controller aufruft. Innerhalb des Templates wird oft mit Objekten gearbeitet, von denen wieder Methoden aufgerufen werden. Dadurch kann ein Chaos entstehen, weil sich die zu bearbeitende Businesslogik sowohl im Controller als auch im Template verbergen kann. Zudem ist es deutlich schwerer, den Programmfluss zu verfolgen, da man durch das alleinige Betrachten des Controllers nicht weiß, welche Methoden von einem bestimmten Template aufgerufen werden und ob überhaupt. Damit ist es schwieriger, OXID Templates an nicht PHP-versierte Frontendentwickler bzw. Designer zu übergeben. Das bedeutet, dass Backend-Entwickler gefordert sind, die Aufgaben des Webdesigners zu beherrschen und entsprechend gute Kenntnisse in Webstandards benötigen. Auch ist durch die vielen OXID-eigenen Erweiterungen ein höherer Lernaufwand vorhanden.

OXID Template Code

OXID Template Code

Vor- und Nachteile

Vorteil der OXID Templates ist, dass Entwickler hier viel Freiheit finden. Das nützt in erster Linie Ein-Mann-Teams, die sowieso alles selbst machen (Design und Programmierung). Auch können durch den von OXID gewählten Weg kleinere Änderungen direkt im Template vorgenommen werden, was oft Zeit spart, da kein separates Modul angelegt werden muss. Dies deckt natürlich nur Fälle ab, in denen ansonsten kein Modul benötigt wird.

Ein weiterer Vorteil der OXID Templates ist, dass im Template auskommentierte und somit nicht benötigte Elemente keine Aufrufe an den Controller stellen. Auf diese Weise ist sichergestellt, das im Template nicht verwendete Elemente auch nicht im Controller geladen werden. Dies spart System-Ressourcen. Bei Shopware dagegen muss um den selben Effekt zu erzielen der Controller umgeschrieben werden. Dies verursacht zusätzliche Kosten.

Gemeinsam ist beiden Shopsystemen neben dem Template-System, dass zwischen den Themen eine Vererbungsreihenfolge existiert. D.h. existiert ein Template nicht in Thema A, so wird im darüber liegenden Thema nachgeschaut, ob dort sich das Template befindet.

Shopware geht hier einen Schritt weiter als OXID und ermöglicht es, dass die in Plugins hinzugefügte Templates update-sicher für das vom Shop verwendete Thema angepasst werden können. Mit Updates sind hier Plugin-Updates gemeint. Dies ist insbesondere bei Plugins von Drittanbietern der Fall, wo man nicht selbst der Autor des Updates ist.
Hierfür ist der unter dem jeweiligen Thema liegende „[bereich]/plugin“-Ordner angedacht.

Fazit

Was das Template-Block-System angeht, so hat eindeutig Shopware die Nase vorn. Das Template-Block-System von OXID wirkt unausgereift.

Was den Umgang mit Templates allgemein betrifft, so gehen OXID und Shopware in diesem Punkt völlig unterschiedliche Wege. Shopware hält sich stark an die Standards und sorgt für eine klare Trennung von Businesslogik und Präsentation. OXID dagegen geht den komplett umgekehrten Weg. Shopware ist hier professionell und ordentlich für Teams aus mehreren Programmierern und Designern. OXID ist hier chaotisch aber dafür flexibel für den Guru, der weiß was er macht und alleine arbeitet.

Weitere Vergleiche

 

Keine Kommentare

kommentieren

Lernen Sie uns kennen. Gerne senden wir Ihnen unsere Broschüre zu.

empfehlen

bewerten