Rendering-Inhalt
Das StudioCMS-Rendering-System ist dynamisch und basiert auf dem aktuellen PageType.
Beispiel Catch-All-Route, bei der die aktuelle Seite aus dem SDK geholt und die Seitendaten an den Renderer übergeben werden. In diesem Fall verwenden wir den in den Seiteneinstellungen konfigurierten Standard-Seitentyp studiocms/markdown
und verpacken diesen in ein Layout, wie wir es mit dem Plugin @studiocms/blog
tun. ein pageBuilder-Plugin kann zum Beispiel ohne ein Standard-Layout geliefert werden, sondern sieht vor, dass du das Ganze innerhalb des Builders gestaltest, wie du es bei anderen CMS-Systemen tun würdest.
---import { StudioCMSRenderer } from 'studiocms:renderer';import studioCMS_SDK from 'studiocms:sdk';import Layout from '../layouts/Layout.astro';
let { slug } = Astro.params;
if (!slug) { slug = 'index';}
const page = await studioCMS_SDK.GET.databaseEntry.pages.bySlug(slug);
if (!page) { return Astro.redirect('/404');}
const { title, description, heroImage } = page;---
<Layout title={title} description={description} heroImage={heroImage}> <main> <StudioCMSRenderer data={page} /> </main></Layout>