verzeichnisstruktur
Quelle: https://redaxo.org/doku/main/verzeichnisstruktur
Verzeichnisstruktur
Ordnerstruktur des CMS
In vielen Fällen ist es hilfreich, die Verzeichnisstruktur von REDAXO selbst zu kennen: Wo liegen die Core-Dateien, wo die Klassen und Funktionen, die AddOns und Plugins, wo die Cache-Dateien und die öffentlich erreichbaren Dateien wie die Assets (CSS, JS) von AddOns oder die durch den Redakteur hochgeladenen Dateien?
Einige der Verzeichnisse sind durch htaccess-Dateien vor dem öffentlichen Zugriff geschützt, andere müssen frei erreichbar sein.
**
Hinweis: Die folgende Tabelle gibt einen groben Überblick; sie ist bewusst nicht vollständig und listet nur die wichtigsten Verzeichnisse aus.
Pfad Beschreibung
/redaxo/data/
der Basisordner für die von einer Website individuell generierten Dateien, z. B. die Konfigurationsdatei config.yml im core-Unterordner
/redaxo/cache/
Speicherort für alle Cache-Dateien
/redaxo/bin/
Speicherort für Konsolen-Skripte
/redaxo/src/
Der Hauptordner (Source) für den Core
/redaxo/src/addons/
Alle AddOns von REDAXO
/redaxo/src/core/assets/
Assets für das Backend, im wesentlichen Javascripts
/redaxo/src/core/fragments/
Die Fragmente enthalten PHP- und HTML-Code und dienen als kleine “Bausteine” dazu, das Backend einheitlich zu gestalten. Sie können auch für die eigene Programmierung verwendet und erweitert werden
/redaxo/src/core/functions/
Die wesentlichen PHP-Funktionen
/redaxo/src/core/lang/
Die Sprachdateien für das Backend
/redaxo/src/core/layout/
Die zwei Dateien in diesem Ordner generieren den Footer, bzw. Header des Backends
/redaxo/src/core/lib/
Der Kernbereich von REDAXO (Klassen)
/redaxo/src/core/pages/
Einige zentrale Seiten des Backends, wie z. B. Login, Profil, Setup, etc.
/redaxo/src/core/tests/
Automatisierte Tests für Core-Klassen und -Funktionen
/redaxo/src/core/vendor/
Funktionen von externen Bibliotheken, z. B.: Composer, Symfony, etc.
*
Liste der wichtigsten Pfade samt ihrer Pfad-Variablen
Da man bei der eigenen Programmierung – sei es bei eigenen AddOns oder auch bei Modulen und Templates – des Öfteren auf solche Pfade zugreifen muss, gibt es Variablen, die man dafür nutzen kann. Die folgende Tabelle listet die wesentlichen Variablen auf.
**
Hinweis: Die Liste ist bewusst nicht vollständig und enthält nur die wichtigsten Verzeichnisse.
Pfad Beschreibung Pfad-Variable
/
rex_path::frontend($file)
/index.php
Einstiegspunkt zum Frontend
rex_path::frontendController($params)
/media/
In den Medienpool geladene Dateien
rex_path::media($file)
/assets/
öffentliche Hilfsdateien
rex_path::assets($file)
/assets/addons/addonname/
öffentliches Hilfsdateien eine AddOns
rex_path::addonAssets($addon, $file)
/assets/addons/addonname/plugins/pluginname/
öffentliches Hilfsdateien eine AddOns
rex_path::pluginAssets($addon, $plugin, $file)
/redaxo/
gesicherter Ordner, kein Zugriff auf die Website von außen außer zur index.php
rex_path::backend($file)
/redaxo/index.php
Einstiegspunkt zum Backend
rex_path::backendController($params)
/redaxo/cache/
Cache-Dateien
rex_path::cache($file)
/redaxo/data/
private Hilfsdateien
rex_path::data($file)
/redaxo/data/addons/addonname/
Private Hilfs- und Backup-Dateien eines AddOns
rex_path::addonData($addon, $file)
/redaxo/data/addons/addonname/plugins/pluginname
Private Hilfs- und Backup-Dateien eines Plugins
rex_path::pluginData($addon, $plugin, $file)
/redaxo/src/
rex_path::src($file)
/redaxo/src/core/
Core-Dateien
rex_path::core($file)
/redaxo/src/addons/addonname/
rex_path::addon($addon, $file)
/redaxo/src/addons/addonname/pages/
Seite eines AddOns
rex_path::addon($addon, 'pages/'.$file)
/redaxo/src/addons/addonname/lib/
Klassen und Bibliotheken eines AddOns, mit Autoload-Funktion
rex_path::addon($addon, 'lib/'.$file)
/redaxo/src/addons/addonname/vendor/
Externe Klassen und Bibliotheken, mit Autoload-Funktion
rex_path::addon($addon, 'vendor/'.$file)
/redaxo/src/addons/addonname/assets/
öffentliche Hilfsdateien, sie werden bei der Installation des AddOns in den öffentlichen Ordner kopiert
rex_path::addon($addon, 'assets/'.$file)
/redaxo/src/addons/addonname/tests/
Automatisierte Tests für AddOn-Klassen und -Funktionen
rex_path::addon($addon, $file).'tests/'
/redaxo/src/addons/addonname/(un)install.(sql/php)
Datei zur Installation, bzw. Deinstallation des AddOns
z. B. rex_path::addon($addon, 'install.php')
/redaxo/src/addons/addonname/boot.php
Boot-Datei des AddOns
rex_path::addon($addon, 'boot.php')
/redaxo/src/addons/addonname/package.yml
AddOn-Definitionen wie Version, Autor, einzelne Seiten
rex_path::addon($addon, 'package.yml')
/redaxo/src/addons/addonname/plugins/pluginname
rex_path::plugin($addon, $plugin, $file)
$file und $params sind optionale Parameter.
Bei den Pfaden zu Ordnern im öffentlichen Bereich kann statt rex_path auch rex_url (mit den gleichen Methoden) verwendet werden, um die relative URL statt des absoluten Pfades zu erhalten.