Content Types

Every page is a content type — a Document, News Item, Event, Image or Link. The type decides which metadata a page carries and, if you choose, the layout it renders with. The samples below are live instances you can open and copy.

Image - Light

The Image content type can be used to upload an image in various formats (JPG, GIF, PNG, SVG). The uploaded image should always have a high resolution so that it can be used flexibly, for example as a banner image. Plone automatically delivers the images in the best scaling, so there is no need to scale images down manually.

Page metadata

A page's frontmatter is its metadata — the fields stored alongside the blocks, and what the rest of the site reads instead of the page body. You edit them in the sidebar's metadata panel; in the markdown source they are the frontmatter at the top of each file, exactly like this page's own.

  • title and description — shown in navigation, in listing and teaser cards, and as the page's title and summary for search and social sharing.
  • review_state — published, private, and so on; it decides who can see the page.
  • effective — the publication date a listing sorts and filters on.
  • preview_image — the image a teaser or listing card shows for this page.
  • exclude_from_nav — hide the page from navigation while keeping it reachable by its URL.
  • subjects — tags, which faceted search and listings filter on.
  • layout — the default view the page renders with.
  • order — on a folder, the order its children appear in navigation and in a relative-path listing.

Forcing a layout per type

A forced layout applies a shared template across a page's whole blocks field — see Templates & Layouts for the mechanism. Forcing is your frontend's call: you pass allowedLayouts, so you decide which layout and when, on whatever logic you want. Keying that on the content type is the common case — force every News Item onto a news layout, every Event onto an event layout — so a whole class of pages stays consistent without an editor choosing per page. The same hook forces on anything else just as well: a section of the site, a flag in the page's metadata, or the current user.