T3 Campus T3 Campus

TYPO3 lernen für Einsteiger

Die Einarbeitung in ein neues CMS kann überwältigen sein. Ich zeige dir eine Möglichkeit, wie ich beginnen würde TYPO3 zu lernen.

TYPO3 ist meiner Meinung nach das beste Open Source CMS auf Basis von PHP. Deswegen gratuliere ich dir zu einer Entscheidung lernen zu wollen, wie man in TYPO3 Webseiten entwickelt.

Da ich nicht weiß, welchen Hintergrund du hast, müssen wir zunächst einmal klären, welche Aufgaben zu erfüllen sind, wenn wir mit einem CMS arbeiten.

Was ist ein Content-Management-System einfach erklärt?

Ein Content-Management-System oder kurz CMS ist eine Software die redaktionellen Inhalte verwalten soll. Redaktionelle Inhalte sind Texte und Medien, wie Bilder und Videos. 

Ein CMS ist in 2 Bereichen aufgeteilt, ein Frontend und ein Backend.

Das Frontend ist das, was jeder Benutzer sieht, wenn er eine Webseite besucht. D.h. das, was du gerade siehst, ist das Frontend von TYPO3 (mein CMS für diese Webseite). 

Das Backend ist die Administration der Webseite. Dort gibt es Oberflächen, um die redaktionellen Inhalte zu strukturieren und zu erstellen.

Während das Frontend für alle Benutzer offen ist, ist das Backend nur für registrierte Benutzer zugängig.

Wie ist das TYPO3 CMS aufgebaut?

TYPO3 hat die gleiche Struktur wie jedes CMS und unterteilt sich in Frontend und Backend. Das Frontend erreicht man wie gewohnt durch Aufruf der eigentliche Domain und das Backend erreicht man über:

www.deinedomain.de/typo3

Die Benutzer, die Zugänge zum Backend haben, nennt man auch Backendbenutzer. Das Rechtesystem im Backend ist nochmal unterteilt:

  1. System Maintainer
  2. Admins
  3. Redakteure

System Maintainer

Die System Maintainer sind Admins mit besonderen Rechten. Die System Maintainer haben auch Zugriff auf systemspezifische Bereiche. Das sind Bereiche, die fundamentalen Einstellungen zum TYPO3 CMS beinhalten. System Maintainer sind auch die, die das TYPO3 CMS aktualisieren, Cronjobs einrichten und vieles mehr.

Admins

Die Admins haben alle Zugriffsrechte, bis auf die systemspezifischen Bereiche. D.h. sie können die komplette Installation inhaltlich pflegen, Redakteure verwalten und Erweiterungen installieren. 

Admins können Gruppen für Redakteure erstellen und die Rechte einstellen. 

Hier ein paar Beispiele:

  • Zugriff auf Backendmodule
  • Zugriff auf einzelne Domains
  • Zugriff auf einzelne Seiten
  • Zugriff auf einzelne Inhaltselemente
  • Zugriff auf einzelne Felder eines Inhaltselements

Der Admin kann sogar einen Redaktionsworkflow einrichten, so dass automatisch Inhalte, die Redakteursgruppe A erstellt, von einem Chefredakteur oder Lektorat geprüft werden muss.

Du siehst, das Rechtesystem ist sehr fein und das ist auch eine besondere Stärke von TYPO3. Und das alles ohne Erweiterungen, das unterstützt TYPO3 von Grund auf.

Redakteure

Die Redakteure kümmern sich rein um die Inhalte der Webseite. Welche Seiten, Inhaltselemente und Felder sie verwalten können, bestimmt der Admin.

Wenn du mehr über die Redaktion lernen möchtest, dann empfehle ich dir meinen kostenlosen Crashkurs für TYPO3 Redakteure.

Wie funktioniert TYPO3?

TYPO3 ist nicht nur ein normales CMS mit Frontend und Backend, sondern bietet viele Werkzeuge, die eine gesamte Redaktion zufrieden stellt. Die Konfigurationsmöglichkeiten sind in TYPO3 enorm. Ein Grund für diese Flexibiltität ist TypoScript.

TypoScript ist keine Sprache, wie JavaScript, sondern es ist Konfiguration. Intern ist es ein riesiges assoziatives Array was intern abgearbeitet wird. Mittels TypoScript kann man viel Einfluss auf TYPO3 nehmen. Das TypoScript ist auch unterteilt in Frontend und Backend.

TypoScript im Frontend

Bei TypoScript für Frontend spricht man einfach von TypoScript und unterteilt das in Konstanten und Einstellung oder zu Englisch: Constants und Setup.

Die Werte der Konstanten setzt man einmal und diese können dann mehrfach im Setup verwendet werden. Dadurch kann man dann Einstellungen zentral speichern und wiederverwenden.

TypoScript für das Frontend ist essenziell. Es ist beispielsweise notwendig, damit man im Frontend überhaupt eine Ausgabe bekommt. Ohne eine TypoScript Konfiguration, gibt es im Frontend auch keine Ausgabe.

Das ist auch die Hauptaufgabe von TypoScript für das Frontend. Darüber hinaus beinhaltet es Einstellungen von allen Frontend Plugins und den TYPO3 Inhaltselementen. Ein Frontend Plugin ist auch ein Inhaltselement. Es zeichnet sich dadurch aus, dass es einfach zu erstellen ist und man beliebige Formularfelder erzeugen kann. Diese Formularfelder werden dann nicht in einzelne Datenbankspalten gespeichert, wie bei den normalen Inhaltselementen, sondern in einer XML Datei, die wiederum in einer Datenbankspalte (pi_flexform) als String steht.

Was du als Einsteiger hier mitnehmen solltest ist, dass der TypoScript notwendig ist um eine Ausgabe im Frontend zu bekommen. Es konfiguriert die Seite und ihre Inhalte.

Seiteneinstellungen sind beispielsweise folgende:

  • Textformat (Standard: HTML)
  • Metatags
  • Objekte die widerum steuern, welche Inhalte wie im Frontend angezeigt werden
  • Liste von JS/CSS Dateien die geladen werden sollen

TypoScript im Backend

Das Backend kann ebenfalls konfiguriert werden und das geschieht auch, zu einem großen Teil, über TypoScript. Dort ist das TypoScript unterteilt in:

  • PageTS
  • UserTS

Was ist PageTS?

PageTS enthält die Konfiguration der Felder im Backend. Der Umfang ist riesig und am besten gebe ich dir ein paar Beispiele.

Backendformulare ändern

Wenn du eine TYPO3 Seite oder Inhaltselemente erstellst, dann erscheint immer ein Formular. Dieses Formular enthält dann diverse Felder die du ausfüllen kannst:

Backendfelder von Newsbeiträgen

Diese Felder werden im System einmal konfiguriert und hier entsprechend angezeigt. Diese Startkonfiguration kannst du mittels PageTS beeinflussen. Du kannst vorhandene Felder ändern und beispielsweise bei einem DropDown Feld neue Werte hinzufügen oder auch entfernen. Das geht ohne 1 Zeile PHP zu schreiben und theoretisch müsstest du dafür nicht einmal eine Extension anlegen. Das ginge alles im TYPO3 Backend.

Ich denke, das ist ein gutes Beispiel, das dir zeigt, wie mächtig TypoScript ist. In keinem anderen CMS ist das so einfach, Änderungen im System vorzunehmen.

Wenn du mehr über TypoScript für das Frontend lernen möchtest, zum Beispiel wie man eine PAGE Objekt erstellt. Dann empfehle ich dir meinen kostenlosen Crashkurs für TYPO3 Integrator.

Gibt es in TYPO3 Templates?

Ja, es gibt in TYPO3 Templates! 

Das TYPO3 CMS kann natürlich ein oder auch mehrere Templates haben. Bei manchen Content-Management-Systemen spricht man auch von Themes.

In der TYPO3 Welt kann man Template und Theme synonym verwenden.

Wenn wir in der TYPO3 Welt schon sind, darfst du das aber nicht mit einem TypoScript Template verwechseln. Das ist was anderes. Ein TypoScript Template enthält erstmal nur TypoScript und hat nur indirekt was mit dem Webtemplate/Theme zu tun.

Die TYPO3 Templates werden in keinem speziellen Ordner gespeichert, sondern ein TYPO3 Template ist auch eine TYPO3 Erweiterung. TYPO3 Erweiterungen sind nochmal unterteilt in System und Lokal.

Was sind Systemerweiterungen?

Das sind Erweiterungen, die von der TYPO3 Organisation erstellt wurden und Teil vom TYPO3 Core sind. Das TYPO3 Core ist sozusagen auch eine Systemextension. Einfach ausgedrückt sind alle Systemerweiterungen zusammen das TYPO3 CMS im Auslieferungszustand.

Die Systemerweiterungen werden im folgenden Ordner gespeichert:

typo3/sysext

In diesem Ordner wirst du selbst nie etwas tun und der ist auch nur für TYPO3 Entwickler interessant. Ich denke es ist nur wichtig zu wissen, dass es so etwas gibt. Denn im Backend im Extension Manager werden manche Systemerweiterugnen angezeigt. Denn nicht alle sind aktiviert, weil optional.

Was sind lokale Erweiterungen?

Die lokalen Erweiterungen sind Erweiterungen von Dritten. In der WordPress Welt sind das die Plugins und Themes.

Sobald du eine Erweiterung von jemand anderen oder deine eigenen installierst, dann sind das lokale Erweiterungen. Das heißt alle Erweiterungen, die nicht vom System sind, sind lokale Erweiterungen.

Um nun den Bogen zum TYPO3 Template zu bekommen. Ein TYPO3 Template ist auch eine lokale Erweiterung und unterscheidet sich erstmal nicht von anderen Erweiterungen.

Man kann in TYPO3 auch spezielle TYPO3 Templates erstellen, das sind sogenannte Distributionen. Das sind Komplettpakete mit der Aufgabe TYPO3 fix und fertig inklusive Konfiguration und Webtemplate auszuliefern. Diese beeinflussen das komplette TYPO3 CMS.

Wie wird eine lokale Erweiterung zu einem Template?

Damit eine lokale Erweiterung zu einem Template wird, muss diese Erweiterung das Standard PAGE - Objekt definieren oder vorhandenes überschreiben. Hier verweise ich gerne nochmal auf meine kostenfreie Ausbildung zum TYPO3 Integrator und auf meinen Onlinekurs: TypoScript Komplettkurs zu TYPO3 11.

Alles Weitere unterscheidet sich dann nicht mehr groß zu einem Theme. Die Extension enthält dann eine Start HTML Datei die dann alles weitere einfügt. Es ist dann ein Zusammenspiel aus TypoScript und Extbase und Fluid um ein TYPO3 Template zu erstellen.

Was ist Extbase und Fluid?

Extbase ist das PHP Framework, indem TYPO3 Erweiterungen geschrieben werden. Es ist stark an Symfony angelehnt und beinhaltet auch viele Paradigmen von Symfony. Ich denke langfristig wird es komplett verschmelzen und man wird mehr oder weniger Symfony in TYPO3 integrieren.

Fluid ist die Templatengine von TYPO3. Es zeichnet sich dadurch aus, das die Templatedateien oder diew View - Ebene des MVC Models wirklich 100% PHP frei ist. Die Trennung von HTML und PHP versprechen zwar viele Frameworks, aber bei Fluid ist es garantiert zu 100% PHP frei. Es gibt nicht eine Zeile PHP Code in einer Templatedatei.

Das bedeutet aber nicht, dass man auf irgendweine Funktionalität verzichten muss. Ganz im Gegenteil. Fluid hat sogenannte ViewHelper, die diese Aufgabe übernehmen.

Falls dich dieses Thema weiter interessiert. Dann lade ich dich dazu ein, meinen kostenlosen Crashkurs für TYPO3 Entwickler zu absolvieren. Darüberhinaus kann ich dir meinen Onlinekurs: Extensionentwicklung für TYPO3 8.7 empfehlen. Der ist zwar in die Jahre gekommen, aber die Grundprinzipien von Extbase und Fluid gelten heute noch. Wenn du einen Onlinekurs suchst um das Erstellen von TYPO3 Templates zu lernen, dann kann ich dir mein Onlinekurs: Lerne ein TYPO3 9 Template zu programmieren empfehlen.

Fazit

Das Erlernen von TYPO3 ist meiner Meinung nach gar nicht so schwierig. Die Fülle an Informationen die es aufzusaugen gibt, kann allerdings überwältigen wirken.

Ich denke aber, wenn du die Tipps in diesem Blogartikel verfolgst und die kostenfreien Kurse absolvierst, dann hast du in wenigen Tagen eine sehr gute Idee wie TYPO3 funktioniert.

Meine Onlinekurse zu TYPO3 werden dich dann in wenigen Tagen zum TYPO3 Experten ausbilden.