Tutorial: TYPO3 Extensionentwicklung

Extabse/Fluid EXT Entwicklung am Beispiel einer Produktdatenbank.

Der Einstieg in die TYPO3 Extensionentwicklung scheint oft schwierig. Es gibt zahlreiche Seiten im Netz die Lösungen für einzelne Problene aufzeigen, komplette Step-by-Step Tutorials sind rar. Am Beispiel einer einfachen Produktdatenbank wird die Extensionentwicklung mit TYPO3 für Einsteiger erklärt.


Das Tutorial erklärt die komplette Vorgehensweise: angefangen von Datenbankfeldern, über das TCA, der Programmlogik mit Controllern, Repositories und Models bis zur Ausgabe im Frontend. Zum Abschluss wird ein eigenes Backendmodul erstellt.
Dabei wird auf den Einsatz des Extensionbuilders bewusst verzichtet um alle Bereiche der Extension zu erläutern.

Das Tutorial richtet sich vor allem an Einsteiger, Grundkenntnisse in php und in der Templateengine Fluid sind erforderlich. Natürlich braucht Ihr eine laufende TYPO3 Installation (ab Version 6.2).


Vorüberlegungen und Datenbank-Struktur

In diesem Beispiel haben unsere Produkte neben Bildern und Texten auch Downloaddateien und eine Anfrageformular. Verknüpft werden sie zusätzlich mit Herstellern und Kategorien aus weiteren Tabellen.

wir benötigen also die Tabellen:

• Produkte
• Hersteller
• Kategorien

Da wir in den Produkttexten einzelne Absätze mit Bildern einfügen wollen, brauchen wir noch eine zusätzliche Tabelle die dieses Contentelemente speichert:

• Produktcontent

Alle Bilder und Downloaddateien werden über die FAL referenziert, hier brauchen wir keine zusätzlichen Tabellen.

Das Extensionverzeichnis

In unserem typo3conf/ext/ Verzeichnis legen wir einen neuen Ordner an. In diesem Tutorial nennen wir die Extension tut_produktdatenbank und benennen unseren Ordner auch so.

Der Standard Verzeichnis Aufbau von Extabse Extensions:
Damit Extbase später automatisch unsere Dateien finden kann, müssen wir innerhalb unseres Extensionverzeichnisses eine vorgegebene Ordnerstruktur einhalten. Für den Anfang reichen uns folgende Ordner:

tut_produktdatenbank
- Classes
- Configuration
  |- TCA
  |- TypoScript
-  Resources
  |- Private
  |- Public

Achtet auf die richtige Schreibweise, die Ordner beginnen alle mit Großbuchstaben. Direkt unterhalb unseres EXT_Verzeichnisses legen wir noch folgende leere Dateien an:
- ext_emconf.php
- ext_localconf.php
- ext_tables.php
- ext_tables.sql

Zusätzlich benötigen wir noch ein 16 x 16px großes gif-Icon. Dises wird nachher im EXT Manager verwendet wie auch als Icon für unsere Datensätze.
Ihr solltet dann folgende Ordnerstruktur haben:

tut_produktdatenbank
- Classes
- Configuration
  |- TCA
  |- TypoScript
-  Resources
  |- Private
  |- Public
- ext_emconf.php
- ext_icon.gif
- ext_localconf.php
- ext_tables.php
- ext_tables.sql

Im nächsten Abschnitt definieren wir unsere Datenbanktabellen, die dazugehörigen TCAs, die ext_emconf.php und die ersten Zeilen in der ext_tables.php. Danach können wir unsere Extension im Extensionmanager installieren und erste Daten eingeben.

» zum nächsten Teil

 

 

 

Weitere Artikel zu diesem Thema:

Empfehlenswerte Lektüre:

Moderne Webentwicklung

Vom Smartphone Display bis zum TV Großbildschirm: Webseiten müssen heute mehr können als nur am Desktop "hüsch auszusehen".  Der Webprofi Peter Gasston erklärt auf rund 300 Seiten die neuen Tools und Techniken von HTML 5 und CSS3 wie WAI-ARIA, Mikroformate, Datenattribute und Webkomponenten im praktischen Einsatz.

Kommentare

keine Kommentare vorhanden


Kommentar verfassen

Die Email Adresse wird nicht veröffentlicht.