Zum Inhalt springen
Abstrakte Formen aus Mattglas: drei Paneele mit unterschiedlichen Aussparungen in einer Schiene, das mittlere ist herausgezogen

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.

3 min Lesezeit Statamic

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.

Ein Hutständer mit drei Hüten: jede Seite wählt ihre Vorlage, der gewählte Hut ist orange.

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.

resources/blueprints/collections/pages/page.yaml yaml
-
  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
Ein Automat: Ein Druck auf die orange Taste, und genau dieses Fach fällt in die Ausgabe, ohne weitere Einstellungen.

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.

resources/views/landing.antlers.html blade
{{# 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>
Ein Reserverad: Fehlt einer Site die eigene Vorlage, fährt Statamic mit dem Standard weiter, die Nabe ist orange.

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.

Hat das geholfen? Wir machen Audit, Workshop oder Coaching auch live

Pakete direkt im Shop. Unser Standard-Tagessatz liegt bei 1.500 € netto.

Zum Shop