Datei und Ordnerstruktur einer TYPO3-Extension
Auf den ersten Blick erscheint der Umfang der verschiedenen Dateien in einer TYPO3-Extension etwas verwirrend. Die folgende Auflistung erklärt kurz den Nutzen der einzelnen Dateien und Ordner. Beachten Sie, dass nicht jede Extension immer alle dieser Dateien und Ordner benötigt bzw. enthält.
Ordner
doc
Der Ordner doc enthält die Dokumentation der TYPO3-Extension. Üblich ist es dabei die von TYPO3 gelieferte OpenOffice-Vorlage manual.sxw zu nutzen. Wurde die Extension mit Hilfe des Kickstarters erstellt, speichert dieser hier seine Konfiguration in den Dateien wizard_form.dat und wizard_form.html.
pi* (z.B.: pi1, pi2, ...)
Alle für die Extension erstellten Plugins befinden sich in den pi1 bis piX - Ordnern, wobei die Nummerierung im Normalfall aber nicht zwingend fortlaufend ist.
Die übliche Dateistruktur sieht wie folgt aus:
ce_wiz.gif
Ist die Extension im Backend über ein Icon und eine Kurzbeschreibung im Assistenten vertreten wird dieses 22x23 Pixel große Icon benötigt.
class.tx_name_pi*_wizicon.php
Diese Klasse die im Namen den Namen der Extension ohne Sonderzeichen trägt, ist für die Einbindung des Plugins in den Backend-Wizard zuständig.
class.tx_name_p*.php
Diese Klasse beinhaltet den eigentlichen Code des Plugins und wird beim Ausführen aufgerufen.
clear.gif
Das obligatorische clear.gif ist ein 1x1px großes transparentes GIF.
locallang.xml
Die Language-Datei für das aktuelle Plugin.
mod* (z.B.: mod1)
Backend-Module der Extension werden in Ordner mit der Bezeichnung mod1 bis modX abgelegt.
Die wichtigsten Dateien sind hier conf.php für die Konfiguration, index.php für das eigentliche Backend-Modul, locallang_mod.xml und locallang.xml für die Sprache, sowie modulicon.png als 16x16 px großes Icon.
res
Alle statischen Datein (Grafiken, CSS, JS, etc.) die in dieser Extension benötigt werden sollten im Ordner res zu finden sein.
Dateien
ext_conf_template.txt
Konfigurationseinstellung der Extension, die im Extension-Manager getätigt werden können.
ext_emconf.php
Hier sind alle Informationen über die Extension wie Titel, Author, Beschreibung, Abhängigkeiten und Voraussetzungen definiert.
ext_icon.php
21x18 px großes Icon für die Darstellung im Extension-Manager.
ext_localconf.php
In dieser Datei erfolgt die Registrierung der einzelnen Plugins der Extension in TYPO3.
ext_tables.php
Konfiguration und Einbindung der einzelnen in der Extension verwendeten Tabellen. Konfiguration der List-View-Einstellungen und einbindung der Plugins ins Backend.
ext_tables.php
SQL-Statements für das Anlegen der benötigten Tabellen bzw. für die Erweiterung bestehender Tabellen.
ext_typoscript_constants.txt
Datei mit vordefinierten Typoscript-Konstanten.
ext_typoscript_setup.txt
Datei mit vordefinierter Typoscript-Konfiguration.
locallang_db.xml
Sprachdatei für die einzelnen Datenbankfelder die mittels Eingabemaske (TCA) im Backend angesprochen werden können.
locallang.xml
Sprachdatei für allgemeine Texte (Titel, Beschreibung) der einzelnen Plugins.
tca.php
TCA-Konfiguration für die in der Extension verwendeten Tabellen (Konfiguration der Eingabemasken der einzelnen Content-Elemente).
Nicht schlecht, jedoch leider schon etwas veraltet. Ein aktueller Extension Aufbau (extbase) wäre was ;-)
PS: ext_tables.php für SQL-Statements müsste ext_tables.sql heissen.