TYPO3 Erweiterungen [Extension] Entwicklung
Individual Entwicklung von TYPO3 Extension
TYPO3 ist ein mächtiges Content Management System, das einen großen Funktionsumfang bietet. Die Standardinstallation bildet die Basis für den Aufbau des Internetauftritts. Richtig modern, ansprechend und kundenfreundlich wird die Website allerdings erst durch zusätzliche Extensions, die Bildergalerien, Kalender, Newsticker, Suchfunktionen, geschützte Bereiche, suchmaschinenoptimierte URLs und etliche weitere Funktionalitäten zur Verfügung stellen. Die Community stellt laufend neue Erweiterungen zur Verfügung, die viele Wünsche erfüllen. Auch wenn die Auswahl hier sehr groß ist, können damit trotzdem nicht alle kundenspezifischen Anforderungen abgedeckt werden.
Dann gibt es zwei Möglichkeiten: Wenn eine Community-Erweiterung die gewünschten Anforderungen zu einem großen Teil erfüllt und nur Kleinigkeiten zum Soll-Zustand fehlen, können diese den Wünschen entsprechend ergänzt werden. Sogenannte Hooks zeigen Stellen, an denen individuelle Anweisungen eingeklinkt werden können.
In allen anderen Fällen ist die Entwicklung einer eigenen Extension notwendig. Dabei handelt es sich um eigenständige Einheiten, die nicht in den Core von TYPO3 eingreifen, sondern unabhängig davon programmiert und anschließend installiert werden. So kann eine Extension auch in mehreren TYPO3-Instanzen verwendet oder nach einem Update von TYPO3 erneut installiert werden.
Wenn die Benutzer auf der Webseite zusätzliche Funktionalitäten sehen, spricht man von Plug-Ins. Module hingegen erweitern die Möglichkeiten zur Pflege im Backend.
Die Erweiterungen werden mit PHP entwickelt. Da meist auch Datenbanktabellen, in denen Daten gespeichert und zur Anzeige im Frontend abgerufen werden, dazugehören, muss der Entwickler auch die SQL-Syntax beherrschen.
Bevor mit der Entwicklung begonnen wird, sollte die angestrebte Funktionalität in einem Konzept skizziert werden. Darin müssen die Dialoge zur Anzeige und Pflege mit ihren Ein- und Ausgabefelder, die Datenbanktabellen und alle weiteren Details definiert werden.
Bei der Erstellung von Extensions hilft der sogenannte Kickstarter, der dafür sorgt, dass alle benötigten Dateien enthalten sind, dass die benötigten Datenbanktabellen komfortabel angelegt und die Namenskonventionen eingehalten werden.
Ab der TYPO3-Version 4.3 steht mit Extbase ein mächtiges MVC-Framework für die Extension-Entwicklung zur Verfügung. Damit lassen sich auch komplexe Extensions elegant schreiben und später erweitern.
Extensions eignen sich zum Beispiel gut für kundenspezifische Konfiguratoren, die die Benutzer interaktiv beraten, Eingabedaten auswerten und nach hinterlegten Regeln ein optimales Ergebnis ermitteln. Auch Such- und Filterfunktionen, die aus großen Datenmengen passende Werte selektieren und ansprechend darstellen sowie Schnittstellen zum Austausch von Daten mit anderen Systemen können als Beispiel genannt werden.
Extensions helfen dabei, den Internetauftritt individuell und benutzerspezifisch zu gestalten oder manuelle Datenpflegearbeiten so weit wie möglich zu automatisieren.