Concrete5: Entwicklung mit Concrete5: Verzeichnisanordnung
Die Grundinstallation von Concrete wird wie folgt aufgesetzt. (Das Root Verzeichnis korrespondiert in diesem Beispiel zum Root Verzeichnis Ihrer Concrete5 Webseite. Diese Beispiele gehen davon aus, dass eine Webseite läuft, und Concrete5s' Kern nicht über mehrere unterschiedliche Seiten geteilt wird.)
Client Anwendungsinhalte
BearbeitenDiese Verzeichnisse befinden sich direkt im Webroot.
/blocks
BearbeitenDieses Verzeichnis beinhaltet Blocktypen, die von Ihrer Concrete5 Seite verwendet werden. Nach einer Installation ist dieses Verzeichnis normalerweise leer - Kern Blöcke werden innerhalb des concrete Verzeichnis installiert.
/concrete
BearbeitenDas ist Concretes' Anwendungsverzeichnis. Concrete5 besitzt diese Dateien - diese sollten in den meisten Projekten gesperrt sein.
/config
BearbeitenIn diesem Verzeichnis befindet sich “site.php,”, die Konfigurationsdatei, welche bei der Installation hinzugefügt wird. In dieser werden die Datenbankverbindungseinstellungen und einige Server spezifischen Informationen gespeichert. Zusätzlich enthält dieses Verzeichnis “site_theme_paths.php", mit der es einem Entwickler möglich ist für bestimmte Bereiche einer Seite, manuell bestimmte Themen zu setzen.
/controllers
BearbeitenDas controller Verzeichnis beinhaltet controller für jede einzelne Seite, Ansicht oder Dashboardmodule die von Ihrer Webseite verwendet werden.
/elements
BearbeitenDas Elementverzeichnis ist als Platz für PHP Code Ausschnitten, die von Ihrer Webseite wiederverwendet werden. Beispiele dafür könnten ein Headermenu oder eine wiederverwendbare Sidebar sein. Elemente sind auf die Präsentation bezogene Erscheinungsformen; wird eine spezielle Funktion oder Bibliothek verwendet die wiederverwendbar sein soll, sollten diese in ”/libraries” oder ”/helpers” stehen.
/files
BearbeitenIm Dateiverzeichnis befinden sich alle Dateien, die von Ihren Benutzern durch das CMS hochgeladen wurden. Zusätzlich kann dieses Verzeichnis Cache Informationen oder Logs enthalten.
/helpers
BearbeitenDas "helpers"-Verzeichnis speichert von Ihnen erstellte, wiederverwendbare Funktionen, basierend auf dem Unterstützungtyp den diese bereitstellen. Sie können Ihre eigenen Hilfsfunktion (die Sie in Ihre Themen oder Einzelseiten einbinden können) in das helpers/ Verzeichnis im Webroot laden (ftp, sftp, ...) und genauso wie die Hilfsfunktionen, die in Concrete5 mitgeliefert werden, verwenden.
/libraries
BearbeitenDer Unterschied zwischen Helfern und Bibiliotheken ist weitgehend ein lexikalischer. Helfer sind normalerweise niedriger im Sichtbarkeitsbereich, und assistieren für spezifische Zwecke, wohingegen Bibliotheken grundlegende Zwecke erfüllen. Zum Beispiel kommt Concrete5 mit einem "feed" Helfer. Dieser stellt eine Reihe Methoden bereit, um RSS und ATOM Feeds zu parsen; es ist der öffentliche Zugriff auf diese Funktionalität. Allerdings, ist der Feedhelfer seinerseits tatsächlich nur ein ein einfaches Gateway zu der sehr guten SimplePie Bibliothek, die selbst in “concrete5/libraries/3rdparty/simplepie.php” steht.
Das Mailverzeichnis beherbergt die von Ihrer Webseite verwendeten Mail Templates, in Verbindung mit dem Mail Helfer.
/models
BearbeitenEinträge im models Verzeichnis sind mit Datenbankeinträgen in Ihrer eigenen Concrete5 Anwendung verknüpft. Haben Sie zum Beispiel ein Feld "Eigenschaften" in Ihrer Datenbank hinzugefügt, wird zum Abfragen dieser Informationen eine PHP Klasse benötigt. Dazu muss in Concrete5 eine Datei "eigenschaften.php" in Ihrem model Verzeichnis erstellt werden. Modelle sind meist optional, aber erweitern Sie Ihr Modell mit der Modell Klasse (die von Concrete5s Kern geladen wird), sind Sie in der Lage 'ADODB Active Records' für Abfragen zu verwenden.
/single_pages
BearbeitenEinzelseiten - "one-off" Seiten wie /login, /register, etc… - sind hier zu Hause. Sie übernehmen das aktuelle Theme, und Ihre Ansichtstemplates können von Templates aus einem vorhandenen Themenverzeichnis überschrieben werden. Einzelseiten sind vorallem in Verbindung mit Concrete's MVC Syntax nützlich.
/themes
BearbeitenIn diesen Verzeichnissen liegt unter anderem Ihr Webseiten Theme. Concrete5 kommt mit einem Grundtheme, hier können jedoch auch eigene Themen hinzugefügt und im Dashboard aktiviert werden.
/tools
BearbeitenTools ist ein Verzeichnis, in dem andere benötigte PHP Skripte abgelegt werden können. Diese werden in Concrete5 verpackt, und haben Zugriff auf die Datenbank und alle anderen Funktionen, ohne dieses Verpacken ist keine MVC Unterstützung, etc gegeben.
Concrete5 interne Inhalte
BearbeitenDies sind die Einträge, die im ”/concrete” Verzeichnis stehen, und für gewöhnlich gesperrt sind.
/config
BearbeitenIn Concrete's internem Konfigurationsverzeichnis befinden sich die Hauptdatenbankdateien der Installation, sowie einige sich selten ändernde Konstanten.
/css
BearbeitenDie Stylesheets, die vom CMS für die dessen Verwaltung verwendet werden, Menus, Dialogboxen, das Dashboard and Rich Text Editor sind hier.
/dispatcher.php
BearbeitenDie Hauptroutine des Programms (dispatcher.php) ist für das Analysieren jeder Anfragen von Concrete5 zuständig.
/flash
BearbeitenHier stehen die Flash Erweiterungen, die vom CMS verwendet werden, unter anderem Flash Uploader, Image Thumbnailer, etc…
/helpers
BearbeitenDieses Verzeichnis beinhaltet Conrete5s Hilfsfunktionen. Anwendungshilfsfunktionen sollten in den jeweiligen Webrootverzeichnissen stehen, da concretes Hilfsfunktionen (im concrete/ Verzeichnis) bei einem Versions Upgrade eventuell überschrieben werden.
/images
BearbeitenBilder, die von Concrete5's Interface Komponenten verwendet werden finden sich hier.
/js
BearbeitenDieses Verzeichnis beherbergt JavaScript Dateien, die von Concrete5's Kern Komponenten verwendet werden. Concrete5 macht einen starken Gebrauch der Jquery Bibliothek, und einiger weiterer JavaScript Komponenten.
/libraries
BearbeitenDas Kern Bibliotheken Verzeichnis enthält weitere Bibliotheken. Diese werden in Verbindung mit Concrete5's MVC Syntax inkludiert, sowie einige "third party" Bibliotheken, die von verschiedenen Komponenten des Systems verwendet werden.
/models
BearbeitenDie meisten von Concrete5's internen CMS Komponenten haben ihre Datenzugriffsklassen innerhalb des Model Verzeichnis.
/packages
BearbeitenDas Packete Verzeichnis beinhaltet Verzeichnisse, die zu diversen "packages" zum System korrespondieren. Sie werden deshalb so bezeichnet, weil sie von allen Concrete5 Webseiten auf einem gegebenen Sever verwendet werden können (falls diese Webseiten sich die gleiche Kernbibliothek teilen). Individuelle Seiten können auch von den Paketen Gebrauch machen, indem diese in das packages Verzeichnis kopiert und anschließend installiert werden. Pakete können Einzelseiten, Blöcke, Elemente, Dashboardmodule, Controller, Mailtemplates und Themen enthalten. Momentan, ist nur das Kernpaket verfügbar, welches für das Erstellen des default Concrete5 Theme, seinen login/registration Prozess, das Dashboard, und die Blocktypen des Systems zuständig ist.
/startup
BearbeitenBegriffe innerhalb des startup Verzeichnis sind Subroutinen, die von dispatcher.php während eines Seitenladevorgangs inkludiert werden.
/tools
BearbeitenDas Werkzeug Verzeichnis beinhaltet die Interface Komponenten des CMS. Popup Fenster, etc...