Typo3 - Extensions programmieren

Aus Wikizone
Wechseln zu: Navigation, Suche

Struktur einer Extension

ext_emconf.php

Informationen und Metadaten zur Extension. Etwa die Infos die im Kickstarter unter General Info stehen.

  • Root-Verzeichnis
    • 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.ext_update.php Funktionen für ein Update der Extension (Beispiel siehe newloginbox).
  • pi1/ Verzeichnis für Skripte und Daten des Plugin
    • class*.php PHP-Klassen z.B. für Plugins oder Submodule
  • 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.