Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 15

Teil 3 – Backend- und Frontend-APIs: Inside TYPO3 – Ein Blick in das Innere des CMS

Der zweite Teil der Serie hat gezeigt, was APIs sind, wofür sie von TYPO3 verwendet werden und wie die „Allgemeinen APIs“ funktionieren. In diesem Teil stehen die speziellen APIs im Mittelpunkt, die sich direkt den Bereichen Frontend und Backend zuordnen lassen. Sie enthalten wichtige und nützliche Funktionen für die Extension-Programmierung.

Während die APIs im zweiten Teil dieser Serie vom Frontend und Backend gemeinsam genutzt werden konnten, ist dies bei den speziellen APIs in der Regel anders. Hier stehen die jeweiligen Klassen und Funktionen nur einem dedizierten Bereich zur Verfügung. Dies sollte man beachten, wenn man bestimmte Informationen im jeweils anderen Bereich nutzen möchte. So gibt es im Backend schlicht keine Informationen zum Rendering der Seite und im Frontend ist es (über die API) unmöglich, festzustellen, welcher Backend-Nutzer gerade eingeloggt ist – mit Ausnahme des aktuellen Benutzers: Bei diesem lässt sich feststellen, ob er gerade auch zusätzlich im Backend eingeloggt ist.

Die TYPO3-Backend-API lässt sich in vier wichtige Bereiche gliedern.

Die TYPO3-Backend-API lässt sich in vier wichtige Bereiche gliedern.

Die TYPO3-Backend-API

Eine der Hauptkomponenten im Backend ist die „TYPO3 Core Engine“, kurz TCE. Diese ist im Grunde für zwei Dinge zuständig:

  1. Rendern der Backendformulare (TCEforms)
  2. Beschreiben der Datenbank – inkl. Anlegen, Verschieben, Kopieren und Löschen von Seiten und Seitenelementen, Versionierung und History (TCEmain)

TCEforms

Diese Klasse ist für alle Funktionen zuständig, die notwendig sind, um Backend-Formulare und deren zahlreiche Funktionalitäten darzustellen, etwa Flexforms, Paletten oder Lokalisierungen.

Zugriff auf die API:
Klassendatei: t3lib/class.t3lib_tceforms.php
Anzahl Funktionen: 100
Zugriff vom Backend:

require_once(PATH_t3lib.'class.t3lib_tceforms.php');

$this->tceforms = t3lib_div::makeInstance("t3lib_TCEforms");

$this->tceforms...

Die Quelle für das Rendering ist dabei das „Table Configuration Array“, kurz TCA. Dieses komplexe Array speichert die komplette Datenbankstruktur inklusive weiterer Parameter, etwa Konfigurationen. Um den Aufbau und die Verwendung des TCA wird es im nächsten Teil dieser Serie gehen.

TCEforms ist die vielleicht komplexeste Klasse im TYPO3-System. Obwohl die API anfangs nie dazu gedacht war, auch von extern benutzt zu werden, ist es dennoch möglich und sinnvoll, dies je nach Anwendungszweck zu tun. Erfahrene Entwickler finden in der Datei „typo3/mod/user/ws/workspaceforms.php“ eine umfassende und gut dokumentierte Anwendung für die API: Hier werden eigene Formulare für Workspace-Einträge gerendert.

Einen sehr guten Einstieg in diese Thematik erhält man in dem Blog-Beitrag „Formularfelder mit TCEforms“ von Martin Helmich [1] sowie in der Dokumentation der TYPO3-Core-API [2].

Bitte beachte unsere Community-Richtlinien

2 Reaktionen
tommy

Verzeihung, ich hätte bis zum Ende lesen sollen. Eine Google Suche hat diese Links zu Tage befördert:

Teil 1, Tour de Core: https://t3n.de/magazin/typo3-teil-1-tour-de-core-221024/
Teil 2, Allgemeine APIs: https://t3n.de/magazin/typo3-blick-innere-cms-teil-2-allgemeine-apis-221175/

tommy

Hallo und vielen Dank für diesen Artikel. Kann man Teil 1 und 2 auch im Heftarchiv lesen? Eine Verlinkung wäre schön.

Vielen Dank,

tommy

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden