laraish / pagination
A simple library for generating pagination.
Installs: 4 941
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 4
Open Issues: 1
Requires
- php: ^8.1
- illuminate/contracts: ^10.10
- laraish/contracts: ^3.0
- laraish/support: ^3.0
README
This is a simple PHP library for creating pagination.
Basic Usage
Here is an example for creating the pagination in WordPress.
global $wp_query; // The total number of items $total = (int)$wp_query->found_posts; // The number of items are going to be displayed per page. $perPage = (int)$wp_query->query_vars['posts_per_page']; // The current page number. $currentPage = (int)$wp_query->query_vars['paged']; // additional options $options = ['urlStyle' => 'pretty']; $paginator = new Paginator($total, $perPage, $currentPage, $options); echo $paginator->toHtml();
Customize the markup
If you don't like the default markup, you can specify your own view file to output the markup.
$paginator = new Paginator($total, $perPage, $currentPage, ['view'=> '/www/var/example.com/pagination.php']);
You can also specify the view with using the dot notation, for example ['view'=> 'components.pagination']
; by using the dot notation it will try to use the Blade Templates if possible.
Take a look at the preset views for more details.
Options
onEachSide
The number of links on each side of the center link.
type
The rendering type.
default
menu
simple
view
The path of view file.
Could be either a blade template or a regular php file.
If you wish to use a php file, you should add the .php
at the end of the string.
urlStyle
The link style.
pretty
: example.com/news/page/10queryString
: example.com/news/?page=10
nextPageText
The next page link text.
prevPageText
The previous page link text.
path
The user-defined base path.
suffix
The suffix to be added to the very end of the url. Such as fragment or query-strings.