Entwicklung & Design

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

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

2 Kommentare
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

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/