da / paginator-bundle
Symfony2 的分页助手包
dev-master
2016-10-06 14:30 UTC
Requires
- php: >=5.3.3
- pagerfanta/pagerfanta: dev-master
- symfony/config: >=2.1
- symfony/dependency-injection: >=2.1
- symfony/twig-bundle: *
- twig/twig: *
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-13 22:47:30 UTC
README
这个 Symfony2 的包是一个用于方便管理分页内容的助手。它是基于 Pagerfanta 构建的。
安装
安装是一个简单的两步过程。
第一步:添加到 composer
在 composer.json 文件中添加该包
// composer.json "require": { // ... "pagerfanta/pagerfanta": "dev-master", "da/paginator-bundle": "dev-master" },
使用 composer 更新你的 vendors
composer update # WIN composer.phar update # LINUX
第二步:在内核中声明
在内核中声明该包
// app/AppKernel.php $bundles = array( // ... new Da\PaginatorBundle\DaPaginatorBundle(), );
用法
分页内容定义
/** * @Route("/") * @Template() */ public function testAction() { $paginator = $this->container->get('da_paginator.paginator'); $paginatedContent = $paginator->defineOffsetPaginatedContent( array('id' => 'Id', 'name' => 'City Name'), 'array', array(array( array('id' => 1, 'name' => 'madrid', 'desc' => 'none'), array('id' => 2, 'name' => 'berlin', 'desc' => 'none'), array('id' => 3, 'name' => 'london', 'desc' => 'none'), array('id' => 4, 'name' => 'boston', 'desc' => 'none'), array('id' => 5, 'name' => 'chicago', 'desc' => 'none'), array('id' => 6, 'name' => 'new york', 'desc' => 'none'), array('id' => 7, 'name' => 'sidney', 'desc' => 'none'), array('id' => 8, 'name' => 'paris', 'desc' => 'none'), array('id' => 9, 'name' => 'tokyo', 'desc' => 'none'), array('id' => 10, 'name' => 'hong kong', 'desc' => 'none'), array('id' => 11, 'name' => 'pekin', 'desc' => 'none'), array('id' => 12, 'name' => 'bombay', 'desc' => 'none') )), 'skip', 'limit' ); return array('cities' => $paginatedContent); }
defineOffsetPaginatedContent
允许您定义分页内容。 array
表示您以数组形式使用数据,但您也可以使用 doctrine 查询构建器、回调等。
您可以使用偏移量/长度模式或页面/每页模式,并定义自己的标签(这里为 skip/limit)。
分页内容显示
{{ da_paginator.render(cities, 'bootstrap')|raw }}
render
允许您以快速和定制的方式渲染分页内容。
文档
您还可以做更多的事情,比如格式化列的内容。让我们看看完整的 文档,了解更多解释和高级功能!