Download the PHP package sivka/paginator without Composer
On this page you can find all versions of the php package sivka/paginator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sivka/paginator
More information about sivka/paginator
Files in sivka/paginator
Package paginator
Short Description bootstrap-4 fork of jasongrimes/php-paginator, a lightweight PHP paginator, for generating pagination controls in the style of Stack Overflow and Flickr. The 'first' and 'last' page links are shown inline as page numbers, and excess page numbers are replaced by ellipses.
License MIT
Homepage http://github.com/sivka/php-paginator
Informations about the package paginator
PHP Paginator
This is a clone of http://github.com/jasongrimes/php-paginator
Features added:
- Bootstrap 4,
- fixed first page url
- size, position
First page url is replaced by default with original url, but if the last param in constructor is false, it is generated as is. Example:
The first page url will be '/foo/'
The first page url will be '/foo/1'
Also you may use a callback for generate urls
dimensions
You can set size of paginator lg or sm
And position of paginator center or right (default left)
position and size
Or your custom css class
A lightweight PHP paginator, for generating pagination controls in the style of Stack Overflow and Flickr. The "first" and "last" page links are shown inline as page numbers, and excess page numbers are replaced by ellipses.
Screenshots
These examples show how the paginator handles overflow when there are a lot of pages. They're rendered using the sample templates provided in the examples directory, which depend on Twitter Bootstrap. You can easily use your own custom HTML to render the pagination control instead.
Default template:
Small template (useful for mobile interfaces):
The small template renders the page number as a select list to save space:
Installation
Install with composer:
composer require "sivka/paginator"
Basic usage
Here's a quick example using the defaults:
This will output the following:
To render it with one of the other example templates, just make sure the variable is named $paginator
and then include the template file:
If the example templates don't suit you, you can iterate over the paginated data to render your own pagination control.
Rendering a custom pagination control
Use $paginator->getPages()
, $paginator->getNextUrl()
, and $paginator->getPrevUrl()
to render a pagination control with your own HTML.
For example:
See the examples directory for more sample templates.
Pages data structure
$paginator->getPages();
getPages()
returns a data structure like the following:
array (
array ('num' => 1, 'url' => '/foo/page/1', 'isCurrent' => false),
array ('num' => '...', 'url' => NULL, 'isCurrent' => false),
array ('num' => 5, 'url' => '/foo/page/5', 'isCurrent' => false),
array ('num' => 6, 'url' => '/foo/page/6', 'isCurrent' => false),
array ('num' => 7, 'url' => '/foo/page/7', 'isCurrent' => false),
array ('num' => 8, 'url' => '/foo/page/8', 'isCurrent' => true),
array ('num' => 9, 'url' => '/foo/page/9', 'isCurrent' => false),
array ('num' => 10, 'url' => '/foo/page/10', 'isCurrent' => false),
array ('num' => 11, 'url' => '/foo/page/11', 'isCurrent' => false),
array ('num' => 12, 'url' => '/foo/page/12', 'isCurrent' => false),
array ('num' => '...', 'url' => NULL, 'isCurrent' => false),
array ('num' => 20, 'url' => '/foo/page/20', 'isCurrent' => false),
)
Customizing the number of pages shown
By default, no more than 10 pages are shown, including the first and last page, with the overflow replaced by ellipses. To change the default number of pages:
$paginator->setMaxPagesToShow(5);