Statamic 6: Page Template Selector im Blueprint
In 5 Minuten ein dropdown im Control Panel hinzufügen, mit dem Redakteure das Layout pro Eintrag wählen können.
Warum
Layout pro Eintrag wählbar, ohne Custom-Logik im Controller
Statamic legt für jeden Entry standardmäßig ein Template auf Basis der Collection an. Sobald die Redaktion zwei oder drei Layout-Varianten innerhalb einer Collection braucht (Hero links, Hero rechts, Hero-Bild-only), beginnt das Routine-Chaos: Custom-Fields, die irgendwo im Template ausgewertet werden, vergessene Branches, doppelte Pflege. Ein simpler Template-Selector im Blueprint löst das, ohne dass Sie eine Zeile Controller-Code anfassen.
Select-Field im Blueprint anlegen
Im Blueprint legen Sie ein Select-Feld mit dem Handle template an. Die Optionen entsprechen den existierenden Antlers- oder Blade-Dateien in resources/views. Wichtig: Default sollte das aktuelle Standard-Layout sein, damit bestehende Entries beim Speichern nicht plötzlich auf ein anderes Template umschalten.
-
handle: template
field:
type: select
display: 'Page Template'
instructions: 'Layout für diese Seite. Default ist Page Builder.'
options:
default: 'Page Builder'
landing: 'Landing-Page (volle Breite)'
sidebar: 'Mit Sidebar (Wissens-Bereich)'
default: default
listable: hidden
width: 50
Wie Statamic das automatisch auflöst
Statamic erkennt das template-Feld automatisch. Speichern Sie einen Entry mit template: landing, wird beim Rendern resources/views/landing.antlers.html (oder landing.blade.php) verwendet. Kein Controller-Override, kein View-Composer, keine Routing-Konfiguration. Wer noch tiefer steuern will (z.B. unterschiedliche Layouts pro Template), kann das layout-Feld parallel im Blueprint anbieten.
{{# Landing-Variante ohne Sidebar, volle Breite. #}}
<main class="page-landing" id="content">
{{ page_builder scope="block" }}
{{ partial src="page_builder/{type}" prose_variant="{prose_variant}" }}
{{ /page_builder }}
</main>
Stolperstellen aus der Praxis
Bei Multi-Site-Setups muss das Template-File pro Site existieren - sonst fällt Statamic auf den Default zurück. Bei Statamic-Pro-Lizenzen mit revisions empfiehlt sich ein Default-Wert, damit ältere Revisionen beim Wiederherstellen kein leeres Template-Feld bekommen. Und im Listing-View des CPs lohnt sich ein listable: false am Feld, sonst landet das Template als Tabellen-Spalte in der Übersicht.
Artikel teilen
Hat das geholfen? Wir machen Audit, Workshop oder Coaching auch live
Pakete direkt im Shop. Unser Standard-Tagessatz liegt bei 1.500 € netto.