Hauptmenü öffnen

Concrete5: Entwicklung mit Concrete5: Verzeichnisanordnung


Inhaltsverzeichnis

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 AnwendungsinhalteBearbeiten

Diese Verzeichnisse befinden sich direkt im Webroot.


/blocksBearbeiten

Dieses 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.


/concreteBearbeiten

Das ist Concretes' Anwendungsverzeichnis. Concrete5 besitzt diese Dateien - diese sollten in den meisten Projekten gesperrt sein.


/configBearbeiten

In 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.


/controllersBearbeiten

Das controller Verzeichnis beinhaltet controller für jede einzelne Seite, Ansicht oder Dashboardmodule die von Ihrer Webseite verwendet werden.


/elementsBearbeiten

Das 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.


/filesBearbeiten

Im Dateiverzeichnis befinden sich alle Dateien, die von Ihren Benutzern durch das CMS hochgeladen wurden. Zusätzlich kann dieses Verzeichnis Cache Informationen oder Logs enthalten.


/helpersBearbeiten

Das "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.

/librariesBearbeiten

Der 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.

/mailBearbeiten

Das Mailverzeichnis beherbergt die von Ihrer Webseite verwendeten Mail Templates, in Verbindung mit dem Mail Helfer.


/modelsBearbeiten

Einträ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_pagesBearbeiten

Einzelseiten - "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.


/themesBearbeiten

In 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.


/toolsBearbeiten

Tools 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 InhalteBearbeiten

Dies sind die Einträge, die im ”/concrete” Verzeichnis stehen, und für gewöhnlich gesperrt sind.


/configBearbeiten

In Concrete's internem Konfigurationsverzeichnis befinden sich die Hauptdatenbankdateien der Installation, sowie einige sich selten ändernde Konstanten.


/cssBearbeiten

Die Stylesheets, die vom CMS für die dessen Verwaltung verwendet werden, Menus, Dialogboxen, das Dashboard and Rich Text Editor sind hier.


/dispatcher.phpBearbeiten

Die Hauptroutine des Programms (dispatcher.php) ist für das Analysieren jeder Anfragen von Concrete5 zuständig.

/flashBearbeiten

Hier stehen die Flash Erweiterungen, die vom CMS verwendet werden, unter anderem Flash Uploader, Image Thumbnailer, etc…


/helpersBearbeiten

Dieses Verzeichnis beinhaltet Conrete5s Hilfsfunktionen. Anwendungshilfsfunktionen sollten in den jeweiligen Webrootverzeichnissen stehen, da concretes Hilfsfunktionen (im concrete/ Verzeichnis) bei einem Versions Upgrade eventuell überschrieben werden.

/imagesBearbeiten

Bilder, die von Concrete5's Interface Komponenten verwendet werden finden sich hier.


/jsBearbeiten

Dieses 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.


/librariesBearbeiten

Das 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.


/modelsBearbeiten

Die meisten von Concrete5's internen CMS Komponenten haben ihre Datenzugriffsklassen innerhalb des Model Verzeichnis.


/packagesBearbeiten

Das 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.


/startupBearbeiten

Begriffe innerhalb des startup Verzeichnis sind Subroutinen, die von dispatcher.php während eines Seitenladevorgangs inkludiert werden.


/toolsBearbeiten

Das Werkzeug Verzeichnis beinhaltet die Interface Komponenten des CMS. Popup Fenster, etc...