TYPO3 v14: Content-Elemente pro Spalte einschränken – endlich mit Bordmitteln
Artikel vorlesen lassen
Endlich im Core: Du kannst jetzt direkt im Backend Layout festlegen, welche Content-Element-Typen in welcher Spalte erlaubt sind. Bewährte content_defender-Funktionalität ohne Extension.
Manchmal ist es die Integration bewährter Community-Lösungen in den Core, die TYPO3 wirklich nach vorne bringt. Mit Version 14.1 ist genau das passiert: Content Element Restrictions pro Backend Layout Spalte sind jetzt nativ an Bord.
Wer schon mal mit der Extension content_defender von Nicole Hummel gearbeitet hat, kennt das Konzept. Wer nicht – hier die Kurzfassung: Du kannst jetzt direkt im Backend Layout festlegen, welche Content-Element-Typen in welcher Spalte erlaubt oder verboten sind. Ohne Extension, ohne Workaround, einfach per Page TSConfig.
Und ich finde das extrem cool.
Was das Feature konkret macht
Backend Layouts bekommen zwei neue Konfigurationsoptionen pro Spalte:
- allowedContentTypes – Whitelist: Nur diese Typen sind erlaubt
- disallowedContentTypes – Blacklist: Alle außer diese Typen sind erlaubt
Das wirkt sich direkt im Backend aus:
- Der New Content Element Wizard zeigt nur noch die erlaubten Typen an
- Im Content-Element-Editor sind die Felder "Typ" und "Spaltenposition" auf gültige Werte beschränkt
- Beim Verschieben und Kopieren werden ungültige Kombinationen verhindert
Das System greift also an allen relevanten Stellen – kein Umweg, keine Lücke.
Ein praktisches Beispiel
Stell dir ein klassisches Layout vor: Haupt-Content-Bereich, Sidebar und Footer. Im Footer sollen keine Überschriften erlaubt sein, in der Sidebar nur spezielle Call-to-Action-Elemente.
Das konfigurierst du jetzt direkt im Backend Layout:
mod.web_layout.BackendLayouts {
exampleKey {
title = Beispiel Layout
config {
backend_layout {
colCount = 2
rowCount = 2
rows {
1 {
columns {
1 {
identifier = main
name = Main Content
colPos = 0
allowedContentTypes = header, text, textmedia
}
2 {
identifier = sidebar
name = Sidebar
colPos = 1
allowedContentTypes = my_custom_cta
}
}
}
2 {
columns {
1 {
identifier = footer
name = Footer
colPos = 2
colspan = 2
disallowedContentTypes = header
}
}
}
}
}
}
}
}
Was hier passiert:
- Main Content (colPos 0): Nur Header, Text und Textmedia erlaubt
- Sidebar (colPos 1): Nur das Custom CTA-Element erlaubt
- Footer (colPos 2): Alles erlaubt, außer Header-Elementen
Das ist nicht nur technisch sauber, sondern auch redaktionell hilfreich. Redakteure können gar nicht erst die falschen Element-Typen auswählen.
Kompatibilität mit content_defender
Das Core-Team hat bewusst Rücksicht auf bestehende Projekte genommen. Die Syntax der Extension content_defender wird unterstützt:
allowed {
CType = header, textmedia
}
Diese Schreibweise wird intern auf allowedContentTypes gemappt. Wenn beide Varianten gleichzeitig verwendet werden, gewinnt allowedContentTypes.
Was der Core NICHT übernimmt:
Das Feature maxitems (maximale Anzahl von Elementen pro Spalte) gibt es im Core nicht. Wer das braucht, kann weiterhin content_defender nutzen – beide Systeme koexistieren problemlos.
Warum das so wichtig ist
Qualitätskontrolle im Content-Bereich ist oft unterschätzt. Viele Projekte leiden darunter, dass Redakteure zwar gut geschult sind, aber bei der täglichen Arbeit trotzdem die falschen Element-Typen an den falschen Stellen nutzen.
Bisher brauchte man dafür eine Extension. Jetzt ist es Bestandteil des Systems.
Das bedeutet:
- Weniger Abhängigkeiten – eine Extension weniger zu warten
- Stabiler Core-Support – das Feature wird mit TYPO3 weiterentwickelt
- Einfacheres Onboarding – keine Extension-Doku nötig, alles im offiziellen ChangeLog
Für Projekte, die content_defender bisher nicht kannten, ist das ein echtes Upgrade. Für Projekte, die es schon nutzen, ist es eine Perspektive für die Zukunft.
Was Extension-Entwickler wissen sollten
Für Extensions wie b13/container gibt es ein neues PSR-14 Event:
ManipulateBackendLayoutColPosConfigurationForPageEvent
Damit können Extensions die berechnete Spalten-Konfiguration anpassen. Das Event ist allerdings als @internal markiert – "use at your own risk". Es wird vermutlich in künftigen TYPO3-Versionen noch überarbeitet, aber für v14 war es nötig, damit Extensions wie ext:container funktionsfähig bleiben.
Wenn du Extensions entwickelst, die Backend Layout Spalten manipulieren, solltest du das Event kennen. Aber sei dir bewusst: Die API kann sich ändern.
Aktueller Status und Verfügbarkeit
Das Feature ist ab TYPO3 14.1 verfügbar. TYPO3 14 ist aktuell noch in der Entwicklung, die LTS-Version erscheint Ende April 2026.
Wichtig: Database-basierte Backend Layouts unterstützen die Konfiguration noch nicht. Das wird laut ChangeLog aber nachgereicht. Aktuell funktioniert es nur mit Page TSConfig-basierten Backend Layouts.
Warum ich das so cool finde
Das ist kein spektakuläres Marketing-Feature. Keine neue UI, kein KI-Hype, keine Revolution. Aber genau das macht es so wertvoll.
Es ist eine bewährte Community-Lösung, die in den Core gewandert ist. Das zeigt, dass TYPO3 zuhört und die richtigen Prioritäten setzt. content_defender war über Jahre eine der meistgenutzten Extensions im Bereich Content-Qualität. Jetzt ist die Kern-Funktionalität standardmäßig dabei.
Das macht TYPO3 14 ein Stück robuster, einfacher zu warten und benutzerfreundlicher. Ohne dass du als Integrator dafür irgendetwas ändern musst – außer vielleicht, eine Extension weniger zu installieren.
Wie du dranbleibst
TYPO3 v14 entwickelt sich weiter, und ich filtere weiterhin die relevanten Features aus dem ChangeLog. Wenn du solche Updates direkt bekommen willst, trag dich in meinen TYPO3-Newsletter ein. Dort bekommst du die wichtigsten Entwicklungen kompakt aufbereitet – ohne Rauschen, nur das, was wirklich relevant ist.
Und wenn du TYPO3 14 von Grund auf lernen willst: Ich arbeite gerade am TYPO3 Komplettkurs, der mit jeder neuen Version aktualisiert wird. Content Element Restrictions, Site Sets, Fluid 5 und alles andere, was v14 mitbringt. Trag dich in die Warteliste ein, um den vergünstigten Einführungspreis zu sichern.
ZurückDu hast eine Frage oder willst das Thema diskutieren?
Im Community Hub für TYPO3 kannst du dich mit anderen TYPO3 Anwendern austauschen. Und wenn du keine neuen Artikel verpassen willst: Der TYPO3 Newsletter kommt einmal im Monat, ohne Spam.
Hi, ich bin Wolfgang.
Seit 2006 arbeite ich mit TYPO3. Nicht in der Theorie, sondern in echten Projekten mit echten Deadlines. Die Probleme, die du gerade hast, hatte ich wahrscheinlich schon dreimal.
Irgendwann habe ich angefangen, mein Wissen in Videokurse zu packen. Nicht weil ich gerne vor der Kamera stehe, sondern weil ich dieselben Fragen immer wieder gehört habe. Mittlerweile sind es Hunderte Videos geworden. Jedes Einzelne entstand aus einer konkreten Frage aus einem konkreten Projekt.
Was mich von einem YouTube-Tutorial unterscheidet: Ich kenne nicht nur die Lösung, sondern auch den Kontext. Warum etwas so funktioniert. Wann es nicht funktioniert. Und welche Fehler du dir sparen kannst, weil ich sie schon gemacht habe.
Meine Teilnehmer nutzen mich als Sparringspartner. Nicht im Sinne von "ruf mich jederzeit an", sondern so: Du kommst mit einem konkreten Problem in die Live-Session, postest deine Frage in der Community oder schaust dir das passende Video an. Und bekommst eine Antwort, die funktioniert, weil sie aus der Praxis kommt.
Als Mitglied im TYPO3 Education & Certification Committee sorge ich dafür, dass die Zertifizierungsprüfungen auf dem aktuellen Stand bleiben. Was dort geprüft wird, fließt direkt in meine Kurse ein.