KnpPaginatorBundle
Paginacja lub stronicowanie służy do dzielenia treści (np. listy artykułów) na podstrony. Do przechodzenia pomiędzy poszczególnymi stronami służy pasek z numeracją i/lub przyciski nawigacyjne typu: ‹ poprzednia strona | następna strona ›. W Symfony mamy do tego gotowy moduł KnpPaginatorBundle. Instalacja bundla:
1 |
$ composer require knplabs/knp-paginator-bundle |
Konfiguracja (config/packages/paginator.yaml):
1 2 3 4 5 6 7 8 9 10 11 12 13 |
knp_paginator: page_range: 10 # liczba linków w numeracji stron default_options: page_name: page # nazwa zmiennej w adresie Url, np: ?page=1 sort_field_name: sort sort_direction_name: direction distinct: true filter_field_name: filterField filter_value_name: filterValue template: pagination: '@KnpPaginator/Pagination/sliding.html.twig' sortable: '@KnpPaginator/Pagination/sortable_link.html.twig' filtration: '@KnpPaginator/Pagination/filtration.html.twig' |
Do kontrolera dodajemy metodę paginate według schematu:
1 |
$paginator->paginate($repository,$page_number,$limit_per_page) |
Przykładowy […]