Skip to main content

Pages & CMS

The CMS (Content Management System) allows you to create and manage dynamic pages composed of content blocks. Pages are delivered as structured JSON to the storefront, which renders them using its own components.

Managing Pages

Navigate to Content → Pages.

Creating a Page

  1. Click New Page
  2. Enter a title and slug (URL-friendly identifier)
  3. Add content blocks to the page
  4. Arrange blocks by drag-and-drop
  5. Save and publish

Page Fields

FieldDescription
TitlePage title (shown in browser tab, SEO)
SlugURL path (e.g., home, about-us)
StatusDraft or Published
StoreWhich store(s) this page belongs to

Content Blocks

Each page is composed of ordered content blocks. Each block has a component type and a data payload.

Available Block Types

TypeDescriptionData Fields
hero-bannerFull-width hero sectiontitle, subtitle, imageUrl, buttonText, buttonLink
product-gridProduct cards gridcategoryId, maxItems, columns
text-blockRich text contentcontent (HTML)
image-galleryImage carouselimages array
category-gridCategory cardscategoryIds, columns
custom-htmlRaw HTMLhtml

Editing Blocks

  1. Click a block to expand its editor
  2. Fill in the type-specific fields
  3. Use the rich text editor for text blocks
  4. Drag blocks to reorder
  5. Delete blocks with the remove button

Page Versions

Pages support versioning. Each save creates a new version. You can:

  • View version history
  • Compare versions
  • Revert to a previous version

Headless Rendering

The storefront fetches page content via:

GET /api/storefront/pages/{slug}

The response is structured JSON — the storefront is responsible for rendering each block type with the appropriate UI component. This gives complete freedom over the visual design.

info

The CMS is intentionally headless. The Backoffice defines the content structure; the storefront controls the presentation. This means the same content can be rendered differently on web vs. mobile.