콘텐츠 렌더링
StudioCMS 렌더링 시스템은 현재 페이지 유형에 따라 동적으로 작동합니다.
다음은 모든 라우트를 처리하는 예시입니다. SDK에서 현재 페이지를 가져오고 페이지 데이터를 렌더러에 전달합니다. 이 경우 페이지 설정에 구성된 기본 studiocms/markdown
페이지 유형을 사용하며, @studiocms/blog
플러그인에서처럼 레이아웃으로 래핑합니다. 예를 들어 페이지 빌더 플러그인은 표준 레이아웃 없이 제공될 수 있지만, 다른 CMS 시스템에서처럼 빌더 내에서 전체 디자인을 의도할 수 있습니다.
---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>