Vergleich zwischen FLUIDTEMPLATE und PAGEVIEW
Vor PAGEVIEW haben TYPO3 Integratoren oft FLUIDTEMPLATE verwendet, um individuelle Seitenlayouts zu erstellen. Obwohl FLUIDTEMPLATE extrem leistungsfähig und flexibel ist, kann es sich "schwer" anfühlen, wenn Sie nur einen einfachen Rendering Flow benötigen. So entsteht ein optimierter Ansatz für Seitenlayouts.
Ein typisches FLUIDTEMPLATE Setup könnte die Definition von:
- Wurzelpfade für Template
- Partielle Wurzelpfade
- Layout Wurzelpfade
- Mehrere Variablen und Daten verarbeitung
- Bedingte Typoscript Logik für die Auswahl von Template
Bei kleinen bis mittelgroßen Projekten kann dies zu einer Menge sich wiederholender Konfigurationen führen.
Im Gegensatz dazu kanneine PAGEVIEW Einrichtung schnell eine Seite mit minimalem Code erzeugen. Hier ist der Unterschied in der Praxis:
page = PAGE
page {
10 = FLUIDTEMPLATE
10 {
templateName = TEXT
templateName {
stdWrap {
cObject = TEXT
cObject {
data = levelfield:-2, backend_layout_next_level, slide
override {
field = backend_layout
}
split {
token = pagets__
1 {
current = 1
wrap = |
}
}
}
ifEmpty = Standard
}
}
templateRootPaths {
100 = {$plugin.tx_yoursite.paths.templates}
}
partialRootPaths {
100 = {$plugin.tx_yoursite.paths.partials}
}
layoutRootPaths {
100 = {$plugin.tx_yoursite.paths.layouts}
}
variables {
pageUid = TEXT
pageUid.data = page:uid
pageTitle = TEXT
pageTitle.data = page:title
pageSubtitle = TEXT
pageSubtitle.data = page:subtitle
parentPageTitle = TEXT
parentPageTitle.data = levelfield:-1:title
}
dataProcessing {
10 = menu
10.as = mainMenu
}
}
}
page = PAGE
page {
10 = PAGEVIEW
10 {
paths {
100 = {$plugin.tx_yoursite.paths.templates}
}
variables {
parentPageTitle = TEXT
parentPageTitle.data = levelfield:-1:title
}
dataProcessing {
10 = menu
10.as = mainMenu
}
}
} Mit PAGEVIEW erreichen wir ein vergleichbares Ergebnis in weniger Zeilen, was die Pflege und Anpassung im Laufe der Zeit erleichtert.
Erste Schritte mit PAGEVIEW
Die Implementierung von PAGEVIEW ist ganz einfach. Im Folgenden finden Sie ein minimales Beispiel, das Ihnen den Einstieg erleichtert:
page = PAGE
page {
10 = FLUIDTEMPLATE
10 {
templateName = TEXT
templateName {
stdWrap {
cObject = TEXT
cObject {
data = levelfield:-2, backend_layout_next_level, slide
override {
field = backend_layout
}
split {
token = pagets__
1 {
current = 1
wrap = |
}
}
}
ifEmpty = Standard
}
}
templateRootPaths {
100 = {$plugin.tx_yoursite.paths.templates}
}
partialRootPaths {
100 = {$plugin.tx_yoursite.paths.partials}
}
layoutRootPaths {
100 = {$plugin.tx_yoursite.paths.layouts}
}
variables {
pageUid = TEXT
pageUid.data = page:uid
pageTitle = TEXT
pageTitle.data = page:title
pageSubtitle = TEXT
pageSubtitle.data = page:subtitle
parentPageTitle = TEXT
parentPageTitle.data = levelfield:-1:title
}
dataProcessing {
10 = menu
10.as = mainMenu
}
}
} - Konfigurieren das PAGE-Objekt wie gewohnt.
- Weisen PAGEVIEW Ihrem Seitenobjekt zu.
- Legen die Pfade fest, um PAGEVIEW mitzuteilen, wo sich Ihre Vorlagendateien befinden.
Profi-Tipp: Wenn Ihr Projekt unterschiedliche Layouts für verschiedene Seitentypen benötigt, können Sie PAGEVIEW noch erweitern, indem Sie weitere Typoscript-Bedingungen oder dynamische Pfade hinzufügen. Vermeiden Sie es jedoch, PAGEVIEW zu sehr zu verkomplizieren - wenn Sie komplexe Logik schreiben müssen, ist FLUIDTEMPLATE möglicherweise besser geeignet.
Bewährte Praktiken für Verwendung von PAGEVIEW
- Halten Sie es einfach: PAGEVIEW ist ideal für unkomplizierte Seitenvorlagen. Wenn Sie ein erweitertes Routing und eine dynamische Templating-Logik benötigen, sollten Sie FLUIDTEMPLATE oder ein hybrides Setup in Betracht ziehen.
- Nutzen Sie die Datenverarbeitung: Die Datenverarbeitung in PAGEVIEW wird weiterhin unterstützt, so dass Sie Menüs oder andere dynamische Daten ohne umfangreiches Typoscript einfügen können.
- Fokus auf Wartung: Da PAGEVIEW-Setups übersichtlicher sind, ist es einfacher, Probleme zu beheben. Halten Sie Ihr Typoscript für künftige Entwickler gut dokumentiert.
- Konsistenz ist wichtig: Verwenden Sie konsistente Namenskonventionen für Variablen und Pfade, so wie Sie es bei FLUIDTEMPLATE tun würden.
Wann bei FLUIDTEMPLATE bleiben sollten
Es gibt Szenarien, für die FLUIDTEMPLATE nach wie vor besser geeignet ist:
- Komplexe Websites mit mehreren Layouts, die eine erweiterte Logik für die Vorlagenauswahl erfordern.
- Stark angepasste Inhalte, die auf tiefgreifende benutzerdefinierte Variablen oder dynamische Daten angewiesen sind, die über die typische Datenverarbeitung hinausgehen.
- Legacy-Codebasen, die bereits tief in FLUIDTEMPLATE-Setups integriert sind.
In solchen Fällen bietet FLUIDTEMPLATE robuste Funktionen, auf die PAGEVIEW der Einfachheit halber bewusst verzichtet.
Schlussfolgerung
Die Einführung von PAGEVIEW in TYPO3 v13 ist ein Schritt hin zu einer effizienteren Website-Entwicklung für Integratoren, die einen schnellen, sauberen Template-Ansatz benötigen. Wenn Ihre Website nicht den hohen Aufwand von FLUIDTEMPLATE erfordert, ist PAGEVIEW definitiv eine Überlegung wert. Mit nur wenigen Zeilen Typoscript können Sie voll funktionsfähige Seiten erstellen und gleichzeitig Ihre Konfiguration übersichtlich halten.
Sind Sie bereit, Ihr TYPO3-Setup zu optimieren? Probieren Sie PAGEVIEW aus und Sie werden sehen, wie viel Zeit (und Code) Sie damit sparen können. Es ist ein weiteres Beispiel dafür, wie sich TYPO3 weiterentwickelt, um den Bedürfnissen der Community gerecht zu werden - mit dem Fokus auf Benutzerfreundlichkeit, ohne dabei die gewohnte Leistungsfähigkeit und Flexibilität zu opfern.
Wenn Sie Fragen zu PAGEVIEW oder anderen TYPO3-Funktionen haben, lassen Sie es mich bitte wissen.
Viel Spaß beim TYPO3-Codieren!
Wolfgang Weber
Brand & Communication LeadWolfgang Weber gestaltet TYPO3 mit Leidenschaft und Fachwissen. Als TYPO3-Enthusiast beim T3Planet Shop hat er an TYPO3-Projekten mitgewirkt, die Websites schneller und sicherer machen. Abseits von TYPO3 findet man ihn wahrscheinlich beim Erkunden lokaler Cafés oder beim Fußball.
More From Author