Page blueprint
Page blueprints are located in /site/blueprints/pages
and control the Panel setup and form fields for pages.
Blueprint location
Default page blueprint
To create the same set of fields for all pages, you can setup a default.yml
that is used whenever no custom page blueprint is configured.
Title
The title is required and will appear in the list of selectable templates when a new page is created and multiple templates are available.
Translated titles
The title can be translated by passing an array of translations with the matching language code as key:
Presets
Presets are typical standard setups for page, pages and files, see presets.
Sorting
The num
option defines which numbering scheme to use when a page is published.
Default sorting is numbering (1 to x) and doesn't need any setup.
Alphabetical sorting by page uid
Sorting by a custom sort number field
You may use a field value, for example from a field called customSortNumberField
, to customize the sort order:
The return value of the query has to be an integer which will be used for sorting. Learn more about Kirby's query language.
Chronological sorting by date field
If your page blueprint contains a date field, you can use that date (and, optionally time) to sort your pages chronologically. For example, for a date field named created
, you can apply the following:
By date
By datetime
If you use a sorting scheme other than default sorting by number, i.e. automatic sorting, manual sorting in the Panel will be disabled.
Statuses
With the status
option, you define the page statuses you want to allow for the page. You can also change their label and description. This option gives you a lot of flexibility how you want to use page status in your website.
The draft
status of a page can not be removed or disabled – only its label and description can be changed.
Simple example
Extended example
Icon
The icon can either be one of our own icons or an emoji. Icons appear in page lists when no preview image is available.
Emoji
Options
With options, you can control all the page actions that should or should not be available for this particular page type. The option dropdown for pages will adjust accordingly.
Option | Value |
---|---|
changeSlug |
true /false |
changeStatus |
true /false |
changeTemplate |
false or list of allowed template |
changeTitle |
true /false |
delete |
true /false |
duplicate |
true /false (since v3.2.0) |
preview |
true /false /template string (see below) |
read |
true /false |
update |
true /false |
Since 3.2.0
Each option can be set on a per user role for fine-grained permissions, for example:
Or using a wildcard to change the default for all roles:
Preview
You can change the link of the preview button or disable it entirely with the option setting.
Disabling the preview button
For some pages it makes sense to disable the preview entirely.
Custom link
The preview
option can also take any absolute link or a template string.
Absolute URL
Template string
You can use Kirby's powerful query syntax to create any link dynamically.
Change templates
You must define a list of compatible templates with the changeTemplate
option to allow editors to switch between page templates.
When an editor switches templates, all fields with the same name and type will be synced. Incompatible fields will be discarded. Be aware of this step when you define the list of compatible templates.
Examples
You can find examples of different types of page blueprints in the samples section.