julienmonnerie/kirby/config/sections/mixins/pagination.php
2025-04-21 18:57:21 +02:00

37 lines
819 B
PHP

<?php
use Kirby\Cms\App;
use Kirby\Toolkit\Pagination;
return [
'props' => [
/**
* Sets the number of items per page. If there are more items the pagination navigation will be shown at the bottom of the section.
*/
'limit' => function (int $limit = 20) {
return $limit;
},
/**
* Sets the default page for the pagination.
*/
'page' => function (int|null $page = null) {
return App::instance()->request()->get('page', $page);
},
],
'methods' => [
'pagination' => function () {
$pagination = new Pagination([
'limit' => $this->limit,
'page' => $this->page,
'total' => $this->total
]);
return [
'limit' => $pagination->limit(),
'offset' => $pagination->offset(),
'page' => $pagination->page(),
'total' => $pagination->total(),
];
}
]
];