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:

de-DE.com_pubdb.ini

Wird für die Darstellung in den Views genutzt bzw. die Administration der Menüeinträge.

de-DE.com_pubdb.sys.ini

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.

uninstall.mysql.utf8.sql

SQL Befehle zum komplette löschen aller Datenbankeinträge welche durch die Erweiterung erstellt wurden.

0.0.7.sql

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

view.html.php

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

edit.php

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.

default.php

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.

Modul