Field Types / Templateselect field
Allows setting a template to use when rendering a specific record. This will allow the record creator to specify any template inside the root folder of the current theme with a file name that does not begin with an underscore. If a specific template is not chosen in the record editor, the record will be rendered with the default template for that ContentType.
A templateselect field is not meant for use inside Sets or Collection fields.
If you do use it, the (potentially multiple) Templateselect fields will not
affect which template Bolt uses to render the record, but they can still be
used by the theme developer in the theme.
Basic Configuration:¶
template:
type: templateselect
Example usage in templates:¶
{{ record.template }}
Options:¶
The field has the options to change which templates are shown from the current
theme folder. By default these are all files ending in .twig, but don't
start with an underscore (_). So, a file like _partial_menu.twig isn't
shown.
Template Filter¶
Using the filter options, you can provide a glob pattern that decides which
templates to show. For example: to only match twig templates that start with
the word "pages" you can do this:
template:
type: templateselect
filter: 'pages*.twig'
Alternatively, you can set this to a regular expression:
template:
type: templateselect
filter: '/^[^_].*twig$/'
Template Path¶
To show Twig templates from a custom directory, use the path option:
template:
label: "Header Layout"
type: templateselect
path: 'partials/header/'
Note: The path must reside inside the theme's
template directory defined via template_directory in your
theme.yaml theme's config file. Templates outside of this template
directory will not be displayed, regardless of the path setting.
Couldn't find what you were looking for? We are happy to help you in the forum, on Slack or on Github.