| Weitere Artikel aus dem Webentwickler Blog |
| Teilen |
Content Management Systeme - Typo3 - Grundlagen
Dateistruktur einer TYPO3-Extension - Teil II
Der zweite Teil dieser kleinen Reihe beschäftigt sich unter anderem mit den Dateien, die das Erscheinungsbild und die Sprache der Extension mitbestimmen. Darüber hinaus werden die Ordnerstrukturen einer TYPO3-Erweiterung vorgestellt.
ext_icon.gif
Diese Datei enthält das Symbol, das im Extension Manager vor dem Titel der Erweiterung angezeigt wird. Die Standardgröße ist 16×16 Pixel. Weil aber im TYPO3-Backend häufig der Name der Erweiterung direkt hinter dem Bild steht, und zwar ohne Abstand, verwenden viele Erweiterungen ein Bild mit 18×16 Pixeln, wobei die rechten beiden Spalten transparent sind.
class.ext_update.php
Diese Datei stellt eine Klasse namens ext_update zur Verfügung. Ist sie vorhanden, so gibt es im Extension Manager bei der Anzeige der Details einer Extension einen zusätzlichen Menü-Eintrag UPDATE!. Dieser ruft die Methode main() der Klasse ext_update auf. Die Erweiterung kann damit beispielsweise prüfen, ob ihre Datenbankstruktur noch korrekt ist, wenn eine neuere Version der Extension installiert wurde.
Die Klasse ext_update muss außerdem eine Methode access() enthalten, die einen Boole'schen Wert zurückliefert. Dieser steuert, ob der Menüeintrag UPDATE! angezeigt werden soll. Damit kann ein erneuter Aufruf vermieden werden, wenn die Erweiterung feststellen kann, dass ein Update unnötig ist.
Sprachdateien
Eine moderne Extension sollte sich möglichst einfach lokalisieren lassen. Dazu gehört, dass alle Textausgaben in der Extension nicht statisch im Code eingebaut sind, sondern in Sprachdateien ausgelagert werden. Diese Dateien existieren auf allen Ebenen der Erweiterung.
Die Dateien heißen locallang*.php oder locallang*.xml, je nach verwendetem Format. Die modernere Variante für die Sprachdateien das XML-Format. Ein großer Vorteil ist, dass die XML-Dateien grundsätzlich im UTF-8-Format sind, während die PHP-Dateien keinen klar definierten Zeichensatz verwenden. So sind auch Übersetzungen in „exotische" Sprachen wie Arabisch oder Japanisch sauber umsetzbar.
Ordnerstrukturen
Jede Erweiterung enthält je nach Typ einen oder mehrere Unterordner:
pi*/
Mit pi beginnen typischerweise die Unterordner für Plugins, also Erweiterungen des Frontends. Der Extension Kickstarter vergibt hier Nummern, sodass sich als Ordnernamen pi1, pi2 usw. ergeben. Es wird aber empfohlen, die einfache Nummerierung durch selbsterklärende Texte zu ersetzen.
mod*/
Ordner, die mit mod beginnen, enthalten Backend-Module. Für die weitere Bezeichnung gilt dasselbe wie für Plugins.
res/
Grundsätzlich steht es dem Programmierer frei, Dateien nach Belieben im Verzeichnis der Extension abzulegen. Es hat aber Sinn, Bilder, allgemeine Klassen oder andere Ressourcen, die nicht direkt einem Frontend- oder Backend-Modul zugeordnet sind, in einem Ordner zu sammeln. Inhalte des Ordners res können im Konfigurations-Interface der Erweiterung als auswählbare Dateien aufgelistet werden.
static/
Das ist der typische Name eines Unterordners für statische Templates.
doc/
Ganzen Artikel lesen...




































