Standards der Programmierung sind wie für reibungslose Abläufe in und um Ihren online Shop essentiell. Sie gewährleisten das schnelle Auffinden von Dateien und die schnelle Navigation in den Verzeichnissen und Dateien. So führen Konventionen in Sachen Dateipfade und Verzeichnisstrukturen nicht nur zur reibungslosen Problemlösung. Ebenso erleichtern sie Umbaumaßnahmen am System, die Bewältigung von technischen Aufgaben in Teams und das Einarbeiten von neuem Personal.
Doch oftmals müssen solche Regelungen Betriebs-intern definiert werden, da der Hersteller der Shopsoftware keine Vorgaben macht. Wir bei commodule haben für das Shopsystem von Oxid eSales zum Beispiel gute Standards der Dateistruktur für Template-Blöcke definiert.
Allgemein gilt ab OXID Version 4.7 aufwärts:
Das Modul soll so genauso strukturiert sein wie der Inhalt des /applications-Verzeichnisses. Also :
- unter /modules/mymodule/views/admin/de/ liegt meine mymodule_lang.php-Sprachdatei
- unter /modules/mymodule/views/admin/tpl liegen meine Backend-Templates
- unter /modules/mymodule/controllers liegen meine Frontend-Controller
- usw.
Eine Regelung für Template-Blöcke?
Es gibt keine offizielle Richtlinie zur Gestaltung von Template-Blöcken. Standards sind für reibungslose Abläufe allerdings notwendig. Daher haben wir bei commodule folgende Regel definiert:
- Wenn man Template-Blöcke überschreibt oder erweitert, so kommen diese unter /modules/mymodule/views/blocks/.
Dabei gilt folgende Konvention:
- Bei Blöcken aus Frontend Templates (/application/views/themename/tpl) oder Backend Templates (/application/views/admin/tpl) wird der restliche Dateipfad zum Template dem Blockordner (/modules/mymodule/views/blocks/) angehängt. Dabei ergibt sich der Dateiname nicht aus dem Dateinamen des Templates, sondern wird wie folgt gebildet: mymodule_blockname.tpl
Ein Beispiel, das diese Regel anschaulich macht:
Das Ausgangstemplate heißt: /application/views/azure/tpl/page/details/inc/productmain.tpl
Der zu überschreibende Templateblock heißt: details_productmain_morepics
Daraus folgt, dass der Dateiname lauten muss: /modules/mymodule/views/blocks/page/details/inc/mymodule_details_productmain_morepics.tpl