
PAGEVIEW in TYPO3 v13: FLUIDTEMPLATE nur einfacher
Mit der Version v13 von TYPO3 wurde das neue TypoScript‑ContentObject PAGEVIEW eingeführt – eine echte Vereinfachung für das Seitentemplating. Statt immer dieselben Zeilen TypoScript und komplexe Pfad‑Konventionen zu definieren, gibt PAGEVIEW ein schlankeres Setup vor und richtet einige Dinge automatisch ein. In diesem Beitrag schauen wir uns an, was PAGEVIEW ist, wie es sich von der bisherigen Methode mit FLUIDTEMPLATE unterscheidet, wie man es einsetzt und welche Best‑Practices und Stolperfallen es gibt.
Was ist PAGEVIEW und warum wurde es eingeführt?
PAGEVIEW ist ein neues TypoScript ContentObject, eingeführt ab TYPO3 v13.1.
Hauptziel: die Ausgabe einer kompletten Seite im Frontend mit deutlich weniger Konfigurationsaufwand zu ermöglichen.
Beispiel‑Minimalsetup:
page = PAGE page.10 = PAGEVIEW page.10.paths.100 = EXT:mysite/Resources/Private/PageView/
Zu den automatischen Features zählen unter anderem:
- Die automatische Auflösung des gewählten BackendLayouts zur Template‑Datei.
- Automatische Wiring von Fluid Layouts und Partials (z. B.
Layouts/undPartials/‑Ordner) ohne explizite Konfiguration. - Mehr Standard‑Variablen sind im Fluid Template sofort verfügbar:
{language}: Das aktuelle SiteLanguage-Objekt –locale, Navigationstitel uvm.{page}: Das aktuelle FrontendPageInformation-Objekt – Zugriff auf alle Felder der Seite und auch der Rootline.{settings}: Alle TypoScript-Konstanten – inkl. Einstellungen der Site viasite.mysetting.{site}: Das aktuelle Site-Objekt – RootPageId oder Konfigurationen der Site abfragen.
Warum das wichtig ist: In früheren Versionen war das Setup von FLUIDTEMPLATE relativ aufwändig und fehleranfällig – viele Pfade, Bedingungen, Slide‑Funktion, TemplateName‑Auflösung etc. PAGEVIEW glättet viele dieser Stolpersteine.
Eine Einführung zu dem Thema gab es auch bei den TYPO3 Developer Days 2024 (siehe Video ab der 25. Minute).
Dieses Video wird über eine externe Plattform (YouTube) gehostet. Das Laden bedarf der Zustimmung unserer Datenschutzbestimmungen.
Unterschiede zu FLUIDTEMPLATE
Wenn du bereits mit FLUIDTEMPLATE gearbeitet hast, wirst du einige Unterschiede bemerken.
Konfiguration
Bei FLUIDTEMPLATE war häufig erforderlich:
- templateRootPaths, partialRootPaths, layoutRootPaths definieren.
- Dynamische Ermittlung der Template‑Datei anhand BackendLayout oder anderen Bedingungen (z. B.
).levelfield:-2,backend_layout_next_level,slide - Einbindung von Variablen, dataProcessing u. v. m.
Oberhalb hatten wir ein Beispiel mit 3 Zeilen TypoScript für die PAGEVIEW. Mit FLUIDTEMPLATE sind folgende Zeilen notwendig, um dasselbe zu erreichen:
page = PAGE
page.10 = FLUIDTEMPLATE
page.10 {
templateName {
data = pagelayout
split {
token = pagets__
1.current = 1
1.wrap = |
}
case = ucfirst
}
templateRootPaths {
10 = EXT:mysite/Resources/Private/PageView/Pages/
}
partialRootPaths {
10 = EXT:mysite/Resources/Private/PageView/Partials/
}
layoutRootPaths {
10 = EXT:mysite/Resources/Private/PageView/Layouts/
}
variables {
root Page Id = TEXT
root Page Id.data = site:root Page Id
myTyposcriptConstant = TEXT
myTyposcriptConstant.value = {$myTyposcriptConstant}
locale = TEXT
locale.data = siteLanguage:locale
}
}Die in PAGEVIEW verfügbaren Variablen über TypoScript in FLUIDTEMPLATE selbst mitzugeben ist hier nur angedeutet. In FLUIDTEMPLATE sind die Felder des pages-Datensatzes via {data} erreichbar. Es bleibt festzuhalten, das wesentlich mehr TypoScript notwendig ist, für die selbe Ausgabe.
Bei PAGEVIEW hingegen:
- Die Pfadstruktur ist standardisiert: z. B.
Resources/Private/PageView/Pages/,Partials/,Layouts/. - Weniger TypoScript‑Code nötig, da viele Konventionen greifen.
- Dennoch behält man die Flexibilität – bei Bedarf kann man weiterhin dataProcessing, Variablen, Pfade etc. erweitern.
Wann sollte man noch FLUIDTEMPLATE nutzen?
Wenn dein Projekt extrem individuelle Anforderungen stellt – etwa: sehr komplexe Logik zur Template‑Auswahl, mehrere Layout‑Stufen, Legacy Umgebung – dann kann FLUIDTEMPLATE weiterhin sinnvoll sein. PAGEVIEW ist ideal für moderne Site‑Packages mit klarer Struktur.
Praktischer Einstieg: So setzt du PAGEVIEW auf
Hier eine Schritt‑für‑Schritt Anleitung, wie du PAGEVIEW in deinem Site‑Package einsetzt.
1. TypoScript Setup
In deiner Configuration/TypoScript/setup.typoscript:
page = PAGE
page {
10 = PAGEVIEW
10 {
paths {
100 = EXT:my_sitepackage/Resources/Private/PageView/
}
variables {
parentPageTitle = TEXT
parentPageTitle.data = levelfield:-1,title
}
dataProcessing {
10 = page-content
20 = menu
20.as = mainMenu
}
}
}2. Ordnerstruktur im Site‑Package
Leg dein Site‑Package so an:
my_site_package/
├── Resources/
│ └── Private/
│ └── PageView/
│ ├── Pages/
│ │ └── Default.html
│ ├── Partials/
│ └── Layouts/
└── Configuration/
└── TypoScript/
└── setup.typoscriptDie Pages/‑Ordner enthält je BackendLayout eine Template‑Datei (z. B. „WithSidebar.html“, „Default.html“).
3. Fluid Template Beispiel
In Resources/Private/PageView/Pages/Default.html kannst du z. B.:
<html lang="{site.language.twoLetterIsoCode}">
<f:layout name="Default" />
<f:section name="Main">
<div class="container">
<header>
<f:render partial="Header" />
</header>
<main>
<h1>{page.title}</h1>
<f:cObject typoscriptObjectPath="lib.content.main" />
</main>
<footer>
<f:render partial="Footer" />
</footer>
</div>
</f:section>
</html>Dieses Template wird angesteuert, wenn es entsprechend im Backend in den Seiteneinstellungen ausgewählt wurde.

Wurde kein Backend-Layout gefunden, wird auch die Default.html als Template-Datei verwendet.
4. Migration von älteren Seiten
Wenn du von einem Setup mit FLUIDTEMPLATE kommst, brauchst du typischerweise folgende Anpassungen:
- Ersetze
page.10 = FLUIDTEMPLATEdurchpage.10 = PAGEVIEW. - Entferne oder vereinfach Pfad‑Konfigurationen (
templateRootPathsetc.). - Sorge dafür, dass deine Ordnerstruktur der
PAGEVIEW‑Konvention entspricht.
Best Practices & Tipps für PAGEVIEW
Damit dein PAGEVIEW‑Setup sauber, wartbar und performant bleibt, hier einige Empfehlungen:
- Halte die Pfad‑ und Template‑Struktur konsistent: z. B. „Pages/Default.html“, „Pages/WithSidebar.html“ etc.
- Nutze Variables und dataProcessing gezielt –
PAGEVIEWbietet zwar Vereinfachung, ersetzt aber nicht alle individuellen Anforderungen. - Verwende sinnvolle BackendLayouts, damit automatisch die passende Template‑Datei geladen wird.
- Bedenke Caching:
PAGEVIEWunterstützt Cache‑Eigenschaften wie jedes andere ContentObject (z. B.cache‑Eigenschaft). - Dokumentiere für dein Team: Wo Templates liegen, wie Namenskonventionen sind – damit künftige Entwickler nicht suchen müssen.
- Teste mit verschiedenen BackendLayouts und Site‑Sprachen, um sicherzugehen, dass das Fallback‑Verhalten funktioniert (z. B. wenn kein Layout gesetzt ist, wird „Default.html“ geladen).
Mögliche Stolperfallen
Ein paar Dinge, auf die du beim Einsatz von PAGEVIEW achten solltest:
- Wenn die Template‑Datei nicht gefunden wird (z. B. bei „none“ oder unbekanntem BackendLayout), wird eine Fallback‑Logik verwendet – stelle sicher, dass Default‑Dateien vorhanden sind.
- Falls du sehr individuelle Logiken brauchst (z. B. mehrere Layout‑Pfad‑Varianten oder stark unterschiedliche Seitentypen), könnte das standardisierte
PAGEVIEW‑Setup zu beschränkt sein – dann istFLUIDTEMPLATEeventuell besser. - Achte darauf, dass dein Site‑Package die richtigen TypoScript‐Includes enthält und die
paths‑Konfiguration korrekt ist – sonst drohen Fehler bei der Template‐Auflösung.
Bereit für PAGEVIEW?
Mit PAGEVIEW macht TYPO3 v13 einen großen Schritt in Richtung einfacherer und strukturierterer Seiten‑Templating‑Prozesse. Für neue Projekte oder saubere Site‑Packages bietet es eine klare, wartbare und schlanke Lösung. Natürlich bleibt FLUIDTEMPLATE bestehen und ist weiterhin sinnvoll bei individuellen Anforderungen — aber für viele Use‑Cases ist PAGEVIEW die erste Wahl.
Wenn du also dein Site‑Package neu aufsetzt oder überarbeitest, lohnt sich ein Blick auf PAGEVIEW – es spart Zeit, reduziert Komplexität und fördert klare Strukturen. Hast du Erfahrungen mit dem PAGEVIEW-Objekt oder Fragen, hinterlasse uns gerne einen Kommentar.