evheniy/simple-pagination-bundle

The SimplePaginationBundle adds the ability to use simple pagination in your application.

Installs: 12 655

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Type:symfony-bundle

1.6 2015-04-19 09:00 UTC

This package is not auto-updated.

Last update: 2024-04-27 15:20:28 UTC


README

knpbundles.com

Latest Stable Version Total Downloads Latest Unstable Version License

Scrutinizer Code Quality Build Status

Build Status

This bundle provides the ability to use simple pagination in your Symfony2 application.

Installation

SimplePaginationBundle:

$ composer require evheniy/simple-pagination-bundle "1.*"

Or add to composer.json

"evheniy/simple-pagination-bundle": "1.*"

AppKernel:

    public function registerBundles()
        {
            $bundles = array(
                ...
                new Evheniy\SimplePaginationBundle\SimplePaginationBundle(),
            );
            ...

Controller

$pagination = $this->container->get('pagination');
$pageParameter = 'page';
$page = $request->get($pageParameter, 1);//page number
$size = $request->get('size', 10);//items per page
$range = 10;//navigation links on page 

return $this->render(
            'AppBundle:Default:index.html.twig',
            array(
                ...
                'pagination'  => $pagination->paginate(
                    $request->get('_route'),
                    $resultsCount,
                    $page,
                    $size,
                    $range,
                    $request->query->all(),
                    $pageParameter
                )
            )
        );

Layout for Twitter Bootstrap

{% include "SimplePaginationBundle::pagination.bootstrap.html.twig" %}

Or simple

{% include "SimplePaginationBundle::pagination.html.twig" %}

And styles for example like this

<style>
.pagination {
    text-align: center;
}
.pagination span a {
    display: inline-block;
    padding: 4px 8px;
    margin: 3px;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    border-radius: 4px;
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}
.pagination span a:hover {
    color: #333;
    text-decoration: none;
}
.pagination span a:active {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}
.pagination span.current {
    display: inline-block;
    padding: 4px 8px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}
</style>

License

This bundle is under the MIT license.

Документация на русском языке

Demo