blog.bartlweb - a technologist's external brain

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

Dieser Artikel hat Dir deinen Tag gerettet?

... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? Oder einfach nur Dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Anerkennung honorierst:

Zahlung mit PayPal oder Kreditkarte.

Hinweis zur Verwendung

Die Übermittlung einer Zahlung ist eine persönliche Anerkennung Ihrerseits an den Entwickler (Christian Bartl, Privatperson). Eine Zahlung ist nicht zweckgebunden und es ist keine Gegenleistung zu erwarten. Bitte beachten Sie, dass für eine übermittelte Zahlung keine Quittung ausgestellt werden kann.

Über den Autor

Christian Bartl

Christian Bartl Requirements Engineer
& Solution Architect für Online und Mobile

Als Technologie-Enthusiast und begeisterter Programmierer entwickle ich in meiner Freizeit Websites, Software und IT-Lösungen, die mir selbst und anderen den Alltag vereinfachen.

mehr auf christian.bartl.me

Kommentare

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

    kommentieren

Kommentar schreiben

Der hier angegebene Name wird gemeinsam mit deinem Kommentar auf der Website veröffentlicht.

Deine E-Mail-Adresse wird zur einmaligen Benachrichtigung bei Veröffentlichung des Kommentars genutzt.

Benachrichtigung per E-Mail über Antworten auf meinen Kommentar erhalten.

Bitte tippe die Zahlenkombination "4196" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.