Page models
Page models are registered with the PageModels
extension.
Page models extend Kirby's default page object. Methods that you define in a page model are available everywhere in Kirby where you call a page of the extended type.
class BlogPage extends Page
{
// your custom page methods
}
Kirby::plugin('my/pageModels', [
'pageModels' => [
'blog' => 'BlogPage'
]
]);
In a real world example, you would usually put the class in a separate file, e.g. /models/BlogPage.php
in your plugin folder:
<?php
class BlogPage extends Page
{
// your custom page methods
}
And then load it in your plugin's index.php
:
<?php
load([
'BlogPage' => 'models/BlogPage.php',
], __DIR__);
Kirby::plugin('my/pageModels', [
'pageModels' => [
'blog' => 'BlogPage'
]
]);
For details see page models in the guide.