agence-adeliom / lumberjack-pagination
1.0.57
2023-05-30 09:00 UTC
Requires
- php: >=8.0.2
- rareloop/lumberjack-core: ^5.0|^6.0
- 1.x-dev
- 1.0.57
- 1.0.56
- 1.0.55
- 1.0.54
- 1.0.53
- 1.0.52
- 1.0.51
- 1.0.50
- 1.0.49
- 1.0.48
- 1.0.47
- 1.0.44
- 1.0.41
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2024-11-20 17:08:23 UTC
README
Implementation of pagination into Lumberjack
Requirements
- PHP 8.0 or greater
- Composer
- Lumberjack
Installation
composer require agence-adeliom/lumberjack-pagination
Usage
Add the trait into your post type
<?php namespace App\PostTypes; use Rareloop\Lumberjack\Post as BasePost; use Adeliom\Lumberjack\Pagination\Pagination; class Post extends BasePost { use Pagination; }
Now your can use it into your controllers
<?php namespace App; use Adeliom\Lumberjack\Pagination\PaginationViewModel; use App\Http\Controllers\Controller; use Rareloop\Lumberjack\Http\Responses\TimberResponse; use App\PostTypes\Post; use Timber\Timber; class IndexController extends Controller { public const RESULTS_PER_PAGE = 10; public function handle(): TimberResponse { global $paged; if (!isset($paged) || !$paged) { $paged = 1; } $context = Timber::get_context(); $context['posts'] = Post::paginate(self::RESULTS_PER_PAGE); $context['pagination'] = PaginationViewModel::fromQueryBuilder(self::RESULTS_PER_PAGE, $paged); return new TimberResponse(['page/index.html.twig'], $context); } }
License
Lumberjack Pagination is released under the MIT License.