The preferred method of installation is via Packagist and Composer. Run the following command to install the package and add it as a requirement to your project's composer.json
:
composer require abraovic/php-paginator
Add new twig template path to app/config/config.yml
# Twig Configuration
twig:
...
paths:
'%kernel.root_dir%/../vendor/abraovic/php-paginator/src/template': 'abraovic_paginate'
In your controller:
use abraovic\phpPaginator\Paginate;
class ... {
function ... {
return $this->render(
'some.html.twig',
[
...,
'pagination' => Paginate::data(
$page, // current page
$limit, // max limit per page
$total, // total number of items
$this->get('router')->generate('_route_name', array(), true) // route link - replace _route_name with proper name
)
]
);
}
}
In your twig:
{{ include('@abraovic_paginate/_paginate.html.twig') }}
If there is a translation bundle installed you can translate First and Last labels by adding the keys in your app's messages.yaml like this:
First: [first in some other language]
Last: [last in some other language]
Contributions are welcome! Please read CONTRIBUTING for details.
The abraovic/php-paginator library is copyright © Ante Braovic and licensed for use under the MIT License.