Concrete5: Entwicklung mit Concrete5: Verzeichnisanordnung

Aus Wikibooks


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[Bearbeiten]

Diese Verzeichnisse befinden sich direkt im Webroot.


/blocks[Bearbeiten]

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.


/concrete[Bearbeiten]

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


/config[Bearbeiten]

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.


/controllers[Bearbeiten]

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


/elements[Bearbeiten]

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.


/files[Bearbeiten]

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.


/helpers[Bearbeiten]

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.

/libraries[Bearbeiten]

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.

/mail[Bearbeiten]

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


/models[Bearbeiten]

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_pages[Bearbeiten]

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.


/themes[Bearbeiten]

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.


/tools[Bearbeiten]

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 Inhalte[Bearbeiten]

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


/config[Bearbeiten]

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


/css[Bearbeiten]

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


/dispatcher.php[Bearbeiten]

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

/flash[Bearbeiten]

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


/helpers[Bearbeiten]

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.

/images[Bearbeiten]

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


/js[Bearbeiten]

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.


/libraries[Bearbeiten]

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.


/models[Bearbeiten]

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


/packages[Bearbeiten]

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.


/startup[Bearbeiten]

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


/tools[Bearbeiten]

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