Typo3 - Extensions programmieren
Struktur einer Extension
ext_emconf.php
Informationen und Metadaten zur Extension. Etwa die Infos die im Kickstarter unter General Info stehen.
ext_localconf.php
Enthält Konfigurationsdaten ($TYPO3_CONF_VARS) für das Backend und Frontend. Hier kann über die Extension API auch TypoScript eingebunden werden.
ext_tables.php
Konfiguration von Datenbanktabellen. Plugins und Module üver die Extension API einbinden. (Alles über Kickstarter)
ext_tables.sql
SQL-Daten für die Tabellendefinition. Die Auswertung erfolgt über den Extension Manager und das Install-Tool.
ext_tables_static+adt.sql
SQL-Tabellendefinition inkl. Daten. Z.B. für statische Daten (Länderinfos etc.) Die Tabellen müssen zusätzlich in ext_tables.sql definiert sein.
ext_typoscript_*.txt
Globaler TypoScript-Code. Steht nicht üver Template-Datensätze zur Auswahl (siehe /static)
ext_conf_template.txt
Hier werden Optionen zur Konfiguration angelegt, die der Benutzer im Extensionmanager einstellen kann.
*icon*.gif
Symbol-Dateien für Extension,DB-Tabellen,Plugins, Module...
locallang*.php
Texte für die Lokalisierung in verschiedenen Sprachen
class*.php
PHP-Klassen z.B. für Plugins oder Submodule
class.ext_update.php
Funktionen für ein Update der Extension (Beispiel siehe newloginbox).
pi1/
Verzeichnis für Skripte und Daten des Plugin
cm1/ Verzeichnis für Dateien die das Kontext-Menü betreffen
mod1/ Verzeichnis für ein Modul.
conf.php
Konfigurationsdatei für ein Modul zum einbinden ins Backend.
index.php
Hauptscript eines Moduls.
modfunc1/
Skripte und Daten für Submodul-Funktionen
static/
TypoScript-Template-Dateien. Diese werden über die Extension-API eingebunden und stehen dann in Template-Datensätzen, ähnlich den Standard Templates zur Auswahl.
sv1/
Verzeichnis für Services
res/
Verzeichnis für beliebige 'recourcen'.
doc/
Verzeichnis der Dokumentation.
Wo werden Extensions installiert ?
typo3/sysext/ (System)
System Extensions wie cms und lang. Hier können keine Extensions mit dem Extension Manager installiert werden.
typo3/ext/ - globale Extensions (Global)
Z.B. diese die von Typo3 mitgeliefert werden. Mit der Option allowGlobalInstall kann man die Installation in dieses Verzeichnis erlauben. Das ist dann nicht sinnvoll wenn sich mehrere Typo3 WEbsites eine Installation teilen, weil es hier zu Versionskonflikten kommen kann.
typo3conf/ext - lokale Extensions (Local)
Hier werden normalerweise alle Extensions installiert. Die Lokale Installation hat immer Vorang vor einer globalen.