Menu, Homepage, Stránky
Menu / Navigace
Sekce “Menu / Navigace”- Endpoint:
GET /site-config→ polenav(hotové, seřazené, gating dle zapnutých modulů). - Přijde:
NavItem[] = { kind, label, href, order, children? }.kind∈anchor|page|blog|glossary|authors|jobs|category|search|custom.children= 1 úroveň (rubriky pod „Blog“). - Na webu: projdeš
nav, vykreslíš odkazy;childrenjako rozbalovací submenu. Kotvy (/#sluzby) z podstránek míří na homepage. - Admin: položky/pořadí/přejmenování řídíš v modulu Web → Menu.
Homepage / Web
Sekce “Homepage / Web”- Endpoint:
GET /site-config→brand, theme, hero, services, about, gallery, menu, footer, social, openingHours, settings… - Na webu: buď vyrenderuješ sekce z configu, nebo homepage uděláš v kódu a z adminu bereš jen vybraná
pole (s fallbackem). Editovatelné prvky označ markery
data-cnkvůli živému náhledu.
Stránky
Sekce “Stránky”- Endpoint:
GET /pages·GET /pages/:slug - Přijde: seznam
{ slug, href, title, updatedAt }; detail{ slug, title, perex?, sections:[{ title, bodyHtml }], dates, seo }. - Routa:
src/pages/[slug].astro(top-level dleurlPaths.pages).
---import { get } from '../lib/contenta';export async function getStaticPaths() { const pages = await get('/pages', []); return pages.map((p) => ({ params: { slug: p.slug } }));}const page = await get(`/pages/${Astro.params.slug}`, null);---<h1>{page.title}</h1>{page.sections.map((s) => <section set:html={s.bodyHtml} />)}- Admin: modul Stránky (blokový editor). Publikace → build hook → rebuild.