Blueprints
Blueprints are registered with the blueprints
extension.
File definition
The blueprints
extension accepts an array of key/value pairs, where the key is the name of the blueprint and the value the path to the file in your plugin folder.
Kirby::plugin('your/plugin', [
'blueprints' => [
'pages/blog' => __DIR__ . '/blueprints/blog.yml'
]
]);
The blueprint key must start with 'pages/...', 'users/...', etc. to activate the designated locations.
Array definition
Alternatively, you can also pass the blueprint definition as an array instead of a file:
Kirby::plugin('your/plugin', [
'blueprints' => [
'pages/blog' => [
'title' => 'Blog',
'sections' => [
// ...
]
]
]
]);
Callback definition
Plugins can now define dynamic blueprints based on config settings, content and other factors.
<?php
Kirby::plugin('my/blueprint', [
'blueprints' => [
'pages/blog' => function ($kirby) {
return [
'title' => 'Blog',
'sections' => [
'articles' => [
'type' => 'pages',
'template' => 'article',
'limit' => $kirby->option('blog.article.limit')
]
]
];
}
]
]);