Kickstarter

Definition des TYPO3 Kickstarters, einer Erweiterung zum Erstellen eigener Extensions.

Der Extension Kickstarter (Extension Key: kickstarter) ist eine TYPO3 Extension, die der Erstellung eigener Extensions dient. Sie erzeugt dabei ein Grundgerüst, das als Basis für die weitere Programmierung verwendet werden kann.

Der Kickstarter lässt sich wie gewohnt im Extension Manager eines TYPO3-Systems installieren. Nach erfolgreicher Installation gibt es die zusätzliche Option Create new Extension in der Drop Down Box, in der sich bereits Einträge wie "Geladene Erweiterungen" und "Erweiterungen importieren" befinden.

Optionen des Extension Kickstarters
Optionen des Extension Kickstarters

Nachdem ein eindeutiger Extension Key vergeben wurde können weitere Einstellungen vorgenommen werden, wie bspw. der Name der Extension und die Extension-Kategorie (Frontend-Plugin, Backend-Modul, Service etc.). Auch die unterschiedlichen Sprachen der Erweiterung, notwendige Datenbanktabellen sowie statischer TypoScript Code lassen sich über die Bedienoberfläche des Kickstarters definieren.

Hat man schließlich alle Einstellungen angegeben, kann man das Ergebnis (die erzeugten Dateien inkl. Inhalten) über den Button "View result" ansehen und anschließend in das Extension-Verzeichnis (z.B. typo3conf/ext/ für lokale Erweiterungen) schreiben.

Die neu erzeugte Extension installiert man danach wie üblich im Extension Manager und kann sie nach Löschen des Caches sofort in der Website verwenden. Um zu testen ob die Erweiterung funktioniert, wird (bei Frontendplugins und Backendmodulen) ein beispielhafter Inhalt ausgegeben.

Funktioniert die Ausgabe soweit, kann man beginnen, den erzeugten Code durch die eigene Programmierung — vorzugsweise basierend auf den Funktionen der TYPO3-API — zu modifizieren und zu erweitern.

Prinzipiell lassen sich die generierten Dateien auch wieder in den Kickstarter einlesen und ändern, z.B. um die Definitionen der Datenbanktabellen zu ändern. Hierbei sollte man allerdings genau darauf achten, bereits geänderte Dateien (v.a. PHP) nicht zu überschreiben.