Die Verzeichnisstruktur verstehen

Verzeichnisstuktur der OXID eShop Community Edition Version 4.9.0
Veröffentlichungsdatum: 25-01-2015 Autor: Tim Bischoff OXID eShop

Die Verzeichnisstuktur des OXID Frameworks der OXID eShop Community Edition Version 4.9.0 aufgeschlüsselt und erklärt.

Gliederung

Installationsverzeichnis

Das Installationsverzeichnis setup wird nur zur Installation benötigt. Nach der Installation kann dieses Verzeichnis gelöscht werden.

Konfigurationsdateien

Beim Installationsprozess werden die Konfigurationsdateien config.inc.php und .htaccess automatisch mit Werten gefüllt. Trotzdem lohnt ein Blick in die Datei config.inc.php. In der config.inc.php sind z.B. die Zugangsdaten zur Shop Datenbank, Shop Adresse (URL) und andere Einstellungsvariablen hinterlegt.

Admin Login

Nachdem man den Shop installiert hat unterscheidet man zwischen Admin und Frontend. Hängt man an die Shop Adresse admin an so gelangt man zum Administrationsbereich des Shops und kann sich mit seinen Zugangsdaten, welche man beim Installationsprozess angegeben hat einloggen. Im Admin werden u.a. die Kategorien, Artikel und vieles mehr gepflegt.

MVC Struktur

Um als Entwickler heraus zufinden, welche Datei man bearbeiten bzw. erweitern muss um eine bestimmte Ansicht zu editieren ist bei OXID alles in einer MVC Struktur organisiert.

Wie gewohnt gibt es für eine Ansicht einen Controller, welcher die Anfrage bearbeitet. Alle Controller befinden sich im Verzeichnis application/controllers. Bei den Controllers unterscheidet man zwischen Frontend und Admin Controller. Die Admin Controller besitzen nochmal ein eigenes Unterverzeichnis application/controllers/admin.

Das zugehörige Model zum Controller besitzt in der Regel den gleichen Namen wie der Controller und befindet sich im Verzeichnis application/models.

Der entsprechende View ist im Controller als Variable definiert. Die Views für den Admin Bereich befinden sich im Verzeichnis application/views/admin/tpl und die Views für die Themes liegen unter application/views/themename/tpl.

Komponenten

Zusätzlich gibt es noch Komponenten und Widgets die auf allen/mehreren Frontend Ansichten benötigt werden, diese befinden sich unter dem Verzeichnis application/components oder noch tiefer gehend application/components/widgets.

Sprachdateien

Die Sprachdateien findet man unter application/views/admin/de, application/views/themename/de oder application/translations.

CSS, JavaScript Dateien + Bilder

Die CSS, JavaScript Dateien und Bilder besitzen eigene Verzeichnisse. Das Theme Verzeichnis dafür findet man unter /out/themename dort gibt es zwei Unterordner img und src.

Im Image Verzeichnis befinden sich alle Grafiken die das Theme verwendet und im Resourcen Verzeichnis befinden sich die CSS, JavaScript und Hintergrundgrafiken Dateien in Unterverzeichnissen organisiert.

Der Admin besitzt wieder ein eigenes Verzeichnis unter /out/admin und ist ähnlich wie das Theme Unterverzeichnis organisiert.

Für Downloads, Mediafiles und Produktbilder gibt es eigenen Unterverzeichnisse out/downloads, out/media und out/pictures.

Core mit Fremdsoftware

Der OXID Framework Core befindet sich im Verzeichnis core und beinhaltet verschiedene Fremdsoftware die wiederum in Unterverzeichnissen organisiert sind z.B. Smarty im Verzeichnis core/smarty.

Modulverzeichnis

Alle Module befinden sich im Verzeichnis modules und sind in Unterverzeichnissen organisiert. Jedes Modul bekommt sein eigenes Verzeichnis. Zum besseren Überlick werden die Modul Verzeichnisse nochmals unter den Anbieter Kürzel orangisiert.

Tmp Verzeichnis

Ein wichtiges Verzeichnis für die Darstellung ist das tmp Verzeichnis. Im tmp Verzeichnis werden temporär die generierten Template Dateien vorgehalten, dies geschieht aus Performance Gründen.

Log Verzeichnis

Es gibt das Verzeichnis log, in diesem Verzeichnis findet man z.B. die Exception.log wenn ein Fehler im Shop aufgetreten ist und man zur Startseite weitergeleitet wurde. Eigene Logs oder Modul Logs sollte man im log Verzeichnis organisieren.

Exporte

Es gibt bereits ein angelegtes export Verzeichnis, in diesem Verzeichnis landen Datenexporte des Shops.

Cronjob / Maintenance Skripte

Für Cronjob Dateien gibt es das Verzeichnis bin in diesem befindet sich beispielhaft die Datei cron.php, an dieser Datei kann man sich für das Schreiben von Cronjob / Maintenance Skripten orientieren.

Dokumentationsverzeichnis

Das Dokumentations Verzeichnis documentation kann für den Produktivbetrieb des Shops auch gelöscht werden, darin befinden sich nur PDF Dateien die das mitgelieferte Mobile Theme und das PayPal Modul beschreiben.