facile-it/paginator-bundle

此包已被废弃,不再维护。作者建议使用knplabs/knp-paginator-bundle包。

轻量级symfony2分页

安装数: 4,559

依赖者: 0

建议者: 0

安全性: 0

星星: 4

关注者: 45

分支: 1

开放问题: 0

类型:symfony-bundle

1.5 2017-12-21 10:04 UTC

README

轻量级的symfony2分页系统

Build Status Code Climate

要求

  • 如果您计划包含twig模板,则需要Twig>=1.5版本。
  • 允许使用Twig 2.*

特性

  • 可以通过请求或通过setter进行初始化
  • 处理路由以及路由参数

安装和配置

使用Composer非常简单,添加

{
    "require": {
        "facile-it/paginator-bundle": "dev-master"
    }
}

或者如果您想克隆仓库

git clone git://github.com/facile-it/paginator-bundle.git vendor/facile-it/PaginatorBundle

将PaginatorBundle添加到您的应用内核

// app/AppKernel.php
public function registerBundles()
{
    return array(
        // ...
        new Facile\PaginatorBundle\FacilePaginatorBundle(),
        // ...
    );
}

使用示例

控制器

当前分页器可以分页

  • Doctrine\ORM\QueryBuilder
// Acme\MainBundle\Controller\ProductController.php


    $queryBuilder = $this
        ->get('doctrine.orm.entity_manager')
        ->getRepository('AcmeMainBundle:Product')
        ->createQueryBuilder('product')

    $paginator = $this->get('facile.paginator')->parseRequest($this->getRequest());

    return $this->render('AcmeMainBundle:Product:list.html.twig', array(
        'results' => $pagination,
        'paginationInfo' => $paginator->getPaginationInfo($filterBuilder
        )
    );

视图

{# display results #}
<table>
    {% for product in results %}
        <tr >
            <td>{{ product.id }}</td>
            <td>{{ product.title }}</td>
        </tr>
    {% endfor %}
</table>

{# display navigation #}
<div class="navigation">
    {% include 'FacilePaginatorBundle:Pagination:template.html.twig' %}
</div>