Nexpell Ordnerstruktur
Die Ordnerstruktur von Nexpell trennt Systemkomponenten, Frontend, Builder, Module, Plugins und benutzerdefinierte Dateien klar voneinander.
Diese Übersicht hilft Entwicklern und Administratoren dabei, schnell zu erkennen, wo sich bestimmte Funktionen befinden und in welchem Verzeichnis neue oder angepasste Dateien abgelegt werden sollten.
Besonders mit der Weiterentwicklung von Nexpell und dem visuellen Builder wurde die Struktur übersichtlicher organisiert. Builder-Komponenten, Frontend-Dateien, Systemfunktionen und Erweiterungen besitzen klar voneinander getrennte Bereiche.
Übersicht der Ordnerstruktur
Die folgende Übersicht zeigt die wichtigsten Verzeichnisse einer aktuellen Nexpell-Installation.
Nexpell
│
├── admin/
│
├── builder/
│ ├── actions/
│ ├── core/
│ ├── renderer/
│ ├── storage/
│ ├── templates/
│ ├── widgets/
│ └── assets/
│ ├── css/
│ ├── js/
│ └── images/
│
├── frontend/
│ ├── index.php
│ ├── header.php
│ ├── footer.php
│ ├── assets/
│ │ ├── css/
│ │ ├── js/
│ │ └── images/
│ └── views/
│
├── includes/
│ ├── modules/
│ └── plugins/
│
├── system/
│ ├── classes/
│ └── core/
│
├── uploads/
│ └── website/
│
└── index.php
/admin – Administration
Der Ordner /admin enthält das eigentliche
Nexpell-Admincenter und dessen Einstiegspunkte.
Über das Admincenter werden die zentralen Einstellungen einer Nexpell-Installation verwaltet. Dazu gehören unter anderem Systemeinstellungen, Plugins, Inhalte, Benutzerverwaltung und der Zugriff auf den visuellen Builder.
Die interne Builder-Implementierung befindet sich mit der
neuen Struktur nicht mehr verteilt im Adminbereich,
sondern zentral unter /builder.
/admin,
wenn sie tatsächlich als Einstiegspunkt oder Verbindung
zum Admincenter benötigt werden.
/builder – Visueller Website-Builder
Der Ordner /builder enthält die zentralen
Komponenten des visuellen Nexpell Builders.
Hier werden die Funktionen zusammengefasst, die unmittelbar für das Erstellen, Bearbeiten, Speichern und Rendern von Seiten innerhalb des Builders benötigt werden.
/builder
├── actions/
├── core/
├── renderer/
├── storage/
├── templates/
├── widgets/
└── assets/
├── css/
├── js/
└── images/
/builder/actions
Enthält Aktionen des Builders, beispielsweise das Speichern, Bearbeiten oder Löschen von Inhalten sowie weitere Aktionen, die direkt innerhalb des Builders ausgeführt werden.
/builder/core
Enthält die zentralen PHP-Funktionen und internen Systemkomponenten des visuellen Builders.
Funktionen, die ausschließlich für den Builder benötigt werden, sollten nach Möglichkeit in diesem Bereich und nicht im allgemeinen Nexpell-Core abgelegt werden.
/builder/renderer
Enthält Komponenten, die für das Rendering und die Darstellung der mit dem Builder erzeugten Inhalte verantwortlich sind.
Der Renderer verarbeitet die gespeicherten Builder-Daten und erzeugt daraus die entsprechende Ausgabe für die Website.
/builder/storage
Dieser Bereich enthält Funktionen zum Speichern und Laden von Builder-Daten, Layoutinformationen und weiteren Einstellungen.
/builder/templates
Enthält Vorlagen und Strukturen, die speziell vom visuellen Builder verwendet werden.
Templates können als Grundlage für neue Websites oder Seiten verwendet und anschließend direkt im Builder angepasst werden.
/builder/widgets
Hier befinden sich die von Nexpell mitgelieferten Core-Widgets des visuellen Builders.
Widgets stellen einzelne Inhalts- und Layoutbausteine zur Verfügung, die innerhalb einer Seite verwendet und konfiguriert werden können.
/builder/assets
/builder/assets
├── css/
├── js/
└── images/
Enthält CSS-, JavaScript- und Bilddateien, die ausschließlich vom visuellen Builder benötigt werden.
/frontend – Frontend der Website
Der Ordner /frontend enthält die zentrale
Darstellung der Website und bildet die technische Hülle
für Builder-Seiten, Module und Plugins.
/frontend
├── index.php
├── header.php
├── footer.php
├── assets/
│ ├── css/
│ ├── js/
│ └── images/
└── views/
/includes/themes/default/.
frontend/index.php
Die frontend/index.php ist die zentrale
Frontend-Hülle.
Sie verbindet unter anderem Builder-Seiten, Module, Plugins und Views mit der eigentlichen Ausgabe der Website.
frontend/header.php
Enthält den grundlegenden Kopfbereich der Website sowie notwendige Meta-, SEO- und Asset-Ausgaben.
frontend/footer.php
Enthält die grundlegende Footer-Ausgabe und die dafür benötigten Systemkomponenten.
/frontend/assets
/frontend/assets
├── css/
├── js/
└── images/
Hier befinden sich die mit Nexpell ausgelieferten Frontend-Ressourcen.
Dazu gehören Stylesheets, JavaScript-Dateien und Bilder, die für die Darstellung des Nexpell-Frontends benötigt werden.
/uploads.
/frontend/views
Die Views enthalten die HTML-Darstellung der grundlegenden Nexpell-Module.
/frontend/views
├── checklogin.html
├── contact.html
├── cookie_policy.html
├── edit_email.html
├── edit_password.html
├── edit_profile.html
├── imprint.html
├── login.html
├── login2fa.html
├── lostpassword.html
├── navigation.html
├── privacy_policy.html
├── profile.html
├── register.html
├── reset_password.html
├── startpage.html
├── static.html
└── terms_of_service.html
/includes – Module und Plugins
Im Verzeichnis /includes befinden sich
grundlegende Module sowie installierte Erweiterungen
von Nexpell.
/includes
├── modules/
└── plugins/
/includes/modules
Dieser Ordner enthält die PHP-Logik der grundlegenden Nexpell-Seiten.
Die eigentliche Programmlogik wird damit von der HTML-Darstellung im Frontend getrennt.
Beispiele:
/includes/modules/contact.php
/includes/modules/login.php
/includes/modules/profile.php
/includes/modules/register.php
Die PHP-Datei verarbeitet die benötigte Programmlogik. Anschließend wird die entsprechende View aus dem Frontend geladen.
includes/modules/contact.php
│
│ PHP-Logik
▼
frontend/views/contact.html
│
│ HTML-Ausgabe
▼
Browser
/includes/plugins
Hier befinden sich die installierten Nexpell-Plugins.
/includes/plugins
├── forum/
├── news/
├── downloads/
├── gallery/
└── ...
Plugins können eigene PHP-Dateien, Templates, Sprachdateien, Assets und weitere Komponenten enthalten.
/frontend/views verschoben.
/system – Nexpell Core
Der Ordner /system enthält grundlegende
Systemfunktionen und zentrale Klassen von Nexpell.
/system
├── classes/
├── core/
└── ...
/system/classes
Enthält zentrale PHP-Klassen von Nexpell, beispielsweise die Template-Engine und weitere allgemeine Systemklassen.
/system/core
Enthält allgemeine Core-Funktionen des CMS, die systemweit verwendet werden können.
Funktionen, die ausschließlich zum visuellen Builder
gehören, befinden sich dagegen unter
/builder.
/uploads – Benutzerdateien
Der Upload-Bereich enthält Dateien, die vom Website-Betreiber oder von Benutzern hochgeladen werden.
Dadurch werden individuelle Website-Dateien sauber vom eigentlichen Nexpell-Programmcode getrennt.
/uploads
└── website/
├── website-logo.png
├── og-image.jpg
└── ...
Frontend-Assets und Uploads unterscheiden
Die Verzeichnisse /frontend/assets und
/uploads erfüllen unterschiedliche Aufgaben
und sollten nicht miteinander vermischt werden.
Frontend Assets
/frontend/assets/
Dateien, die direkt mit Nexpell ausgeliefert werden und Bestandteil des Frontends sind.
Website Uploads
/uploads/website/
Individuelle Dateien des Website-Betreibers, beispielsweise Logos oder andere hochgeladene Bilder.
/index.php – Zentraler Einstiegspunkt
Die index.php im Hauptverzeichnis ist der
zentrale Einstiegspunkt für Frontend-Anfragen.
Von hier aus werden die notwendigen Nexpell-Komponenten geladen und die Anfrage an die entsprechenden Bereiche weitergeleitet.
Browser
│
▼
index.php
│
├── Nexpell Core
├── Routing
├── Sprache
├── Module / Plugins
│
▼
frontend/index.php
│
├── Builder
├── Module
├── Plugins
└── Views
│
▼
Website
Wo gehört meine Datei hin?
Die folgende Übersicht hilft bei der Entscheidung, in welchem Verzeichnis neue oder geänderte Dateien abgelegt werden sollten.
| Ich möchte … | Verzeichnis |
|---|---|
| ein Nexpell-Plugin entwickeln | /includes/plugins/ |
| ein normales CMS-Modul bearbeiten | /includes/modules/ |
| die HTML-View eines Moduls bearbeiten | /frontend/views/ |
| Frontend-CSS bearbeiten | /frontend/assets/css/ |
| Frontend-JavaScript bearbeiten | /frontend/assets/js/ |
| ein Core-Widget des Builders bearbeiten | /builder/widgets/ |
| Builder-PHP-Logik bearbeiten | /builder/core/ |
| eine Builder-Aktion bearbeiten | /builder/actions/ |
| Builder-CSS oder JavaScript bearbeiten | /builder/assets/ |
| eine allgemeine Nexpell-Klasse bearbeiten | /system/classes/ |
| eine allgemeine Core-Funktion bearbeiten | /system/core/ |
| Website-Logo oder Website-Bild speichern | /uploads/website/ |
Zusammenfassung
Die neue Ordnerstruktur von Nexpell sorgt für eine klare Trennung zwischen CMS-Core, visuellem Builder, Frontend, Modulen, Plugins und benutzerdefinierten Dateien.
Dadurch wird die weitere Entwicklung übersichtlicher und einzelne Komponenten lassen sich leichter warten, erweitern oder austauschen.
/admin → Administration
/builder → Visueller Website-Builder
/frontend → Darstellung der Website
/includes → Module und Plugins
/system → Nexpell Core
/uploads → Benutzer- und Website-Dateien
/index.php → Zentraler Einstiegspunkt