Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nobletsolutions/filteredpaginationbundle


https://github.com/nobletsolutions/filteredpaginationbundle

bundle php symfony symfony-bundle

Last synced: 2 days ago
JSON representation

Awesome Lists containing this project

README

        

Installation
============

composer require ns/filtered-pagination-bundle

Edit AppKernel.php and add the bundle

...
new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(),
new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(),
new NS\FilteredPaginationBundle\NSFilteredPaginationBundle(),

Usage
============

In a controller you request the filtered pagination bundle.

$query = $this->get('doctrine.orm.entity_manager')->getRepository('...')->getSomeQuery();
$filteredPaginator = $this->get('ns.filtered_pagination');
list($form, $pagination, $redirect) = $filteredPaginator->process($request, $formType, $query, 'sessionKey');

if ($redirect) {
return $this->redirect($this->generateUrl('practiceUsers'));
}

Limit Select
============

You can use the provided LimitSelectType to provide a 'X' results per page selector. If you do so
you should include the main.js resource which handles detecting changes to the number per page.