Sites and Pages
Contents
Sites and pages allow you to build rich, visually oriented content using building blocks called page components.
Sites
Sites represent the root of a website within a content project. Creating a site unlocks the ability to manage pages, page templates, and fragments.
Site (portal:site) is a built-in content type. Sites can be created anywhere in your content structure, but are commonly placed at the project root. The site also serves as the root for the URL structure of your website.
Site apps
Similar to projects, you may add applications to a site. Content types, components, mixins and more from the selected applications will be available within the site scope. Purpose-specific applications like sitemap.xml, SEO Metafields, and similar can introduce additional site-relative features.
Site rendering is configured through the site.yaml app descriptor — see the Enonic Development Kit docs. For the project/site-level CMS-app descriptor, see CMS descriptor. |
Pages
Pages are an optional feature available for content created within a site. A page can be added to any content item, and then edited visually by adding and arranging components.
Page components
The page concept is made up of the following building blocks:
-
Page:: The root component, defining the overall structure via regions.
-
Parts:: Leaf components, used to add content to a page.
-
Layouts:: Components that define regions, used for columnar or grouped presentation of parts.
-
Text:: A built-in component for inline rich text.
-
Page templates:: Reusable page setups that can be applied to content items automatically.
-
Fragments:: Reusable component instances shared across pages.
Page editor
Content Studio’s visual page editor allows editors to work with components by dragging and dropping them, and editing them directly on the page.
Seen from Content Studio, a page and its component structure might look like this:
Front-end toolkits
Rendering a page’s component tree in a front-end framework — resolving parts and layouts into components, hydrating fragments, and keeping the visual editor in sync — is easier with a dedicated integration. Enonic publishes React components and a Next.js integration (Next.xp) that handle this mapping. See the Enonic templates and starters for the currently supported toolkits.