Grundlegende Dateistruktur - JoomlaPubDB/PubDB GitHub Wiki
Komponente
Administration
In diesem Dateipfad werden alle Dateien für die Administation der Komponente im Joomla! Administrationsbereich editiert.
Assets
Wurde in diesem Projekt nicht benötigt, da die Administration nur mit Joomla! Standards erstellt werden konnte.
Controllers
Für jede View wird hier der entsprechende Controller erstellt und bereitgestellt. Hier können z.B. bestimmte Tasks wie der Import bzw. Export der Daten gesteuert werden.
Helpers
Hier wurden Hilfsklassen erstellt, welche in verschiedene Klassen bzw. Logiken eingebunden und eingesetzt werden konnten. So können Funktionen der PubdbLiteraturesCitation Klasse in verschiedenen Controllern und Views genutzt werden.
Languages
Bei den Sprachen gibt es zwei Dateien:
Wird für die Darstellung in den Views genutzt bzw. die Administration der Menüeinträge.
Systemweite Sprachvariablen welche für die Administrationsoberfläche in Joomla! genutzt werden.
Models
In diesem Bereich werden die einzelnen Models (Datenstrukturen) erstellt. Hier werden sowohl XML Definitionen genutzt als auch Validierung und Datenmanipulation durch die PHP-Klassen ermöglicht.
Fields
Hier können durch PHP-Klassen eigene Feldtypen hinzugefügt werden, welche dann für die Nutzereingabe genutzt werden können bzw. HTML-Code für das Input-Feld generieren.
Beispiel: createdby.php
Forms
In den Forms werden XML Definitionen für die einzelnen Eingabe Formulare innerhalb der Komponente erstellt. Durch die XML-Definition wird dann durch das Joomla! Framework automatisch der HTML-Code erstellt.
Beispiel: literature.xml
PHP-Klassen
In den PHP-Klassen der Models kann die Datenvalidierung vor dem speichern eines Eintrags vorgenommen werden. Zudem werden hier die Forms mit der tatsächlichen Datenbank verknüpft und die Daten der Datenbank in die Formulare übertragen. Auch das Duplizieren von Einträgen wird durch diese Klassen ermöglicht.
Beispiel: literature.php
SQL
Hier werden alle SQL Dateien bereitgestellt, welche für das Installieren, Updaten und Deinstallieren der Erweiterung benötigt werden.
SQL Befehle zum komplette löschen aller Datenbankeinträge welche durch die Erweiterung erstellt wurden.
Aktuelles Installationsskript welches in der gleichen Versionsnummer der Komponente benannt werden muss.
Update 0.0.8.sql
Update Skripts welches je nach Versionsnummer benannt werden muss und entsprechend bei der Aktualisierung ausgeführt wird.
Tables
PHP-Klassen für alle Datenbankoperationen die durch Joomla! direkt ausgeführt werden in der Administration. Je Datenbanktabelle wird hier eine Tabelle-Klasse benötigt. Beispiel: literature.php
Views
Je View wird hier ein Ordner erstellt (Einzel- und Listenansicht separat). In diesem Ordner werden dann alle Informationen für die Darstellung der View abgelegt. Beispiel: literature bzw. literatures
In der view.html.php wird eine Art Controller Logik abgebildet, welche beim Aufruf der View ausgeführt wird. Hier werden alle Informationen für die Darstellung "gesammelt".
In der edit.php wird die Darstellung erstellt, sobald ein Eintrag erstellt oder geändert wird. Hier werden dann anhand der Form-Definitionen die einzelnen Felder in PHP ausgelesen und HTML-Code erstellt.
Die default.php wird hauptsächlich für die Listenansichten genutzt hier wird eine Tabelle für die Einträge erstellt.
Site
Nahezu identisch zur Administration, hier werden jedoch alle Einstellungen für die Front End View vorgenommen, also die Ausgabe auf der Webseite selbst.
Controllers
Controller Klassen welche jede View benötigt.
Helpers
Helper Klasse, wird bei diesem Projekt jedoch nicht verwendet, da die Helper in der Administration gesammelt wurden.
Models
Model-Klassen, Fields und XML-Forms wie auch bei der Administration. Für die Anzeige wird jedoch hauptsächlich die publicationlists.php genutzt, diese stellt die Publikationsliste dar. Hier befindet sich auch die Logik für die Datenbankabfragen der Publikationsliste
Views
View Dateien für die Erstellung der Menü-Einträge. Auch hier hauptsächlich die View publicationlists.