nitra / pagerfanta-bundle
用于在Symfony2中使用Pagerfanta的扩展包
Requires
- pagerfanta/pagerfanta: 1.0.*
- symfony/framework-bundle: ~2.2
- symfony/property-access: ~2.2
- symfony/twig-bundle: ~2.2
Requires (Dev)
- phpunit/phpunit: ~3.7
- symfony/symfony: ~2.2
This package is not auto-updated.
Last update: 2018-05-06 19:27:40 UTC
README
用于在Pagerfanta和Symfony2中使用的扩展包。
注意:如果您使用的是Symfony2的2.0.x版本,请使用此扩展包的symfony2.0
分支。此扩展包的主分支跟踪Symfony2的主分支。
此扩展包包含
- 用于使用视图和选项渲染分页器的Twig函数。
- 轻松使用视图的方法。
- 在视图中重用选项的方法。
- DefaultView的基本CSS。
安装
将扩展包添加到您的composer.json
"white-october/pagerfanta-bundle": "dev-master"
并运行
php composer.phar install
然后将WhiteOctoberPagerfantaBundle添加到您的应用程序内核
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
// ...
);
}
目前,当页面超出范围或不是数字时,服务器返回500。您可以设置参数以在请求的页面无效时显示404异常。默认设置为"false",以提供BC(之前是500)。
// app/config/config.yml
white_october_pagerfanta:
exceptions_strategy:
out_of_range_page: to_http_not_found
not_valid_current_page: to_http_not_found
渲染分页器
{{ pagerfanta(my_pager, view_name, view_options) }}
使用变量"page"自动生成当前路由的路线,以传播页面编号。默认情况下,此扩展包使用名为"默认"的DefaultView。默认语法是
<div class="pagerfanta">
{{ pagerfanta(my_pager) }}
</div>
Twitter Bootstrap
此扩展包还提供了TwitterBootstrapView。
用于Bootstrap 2
<div class="pagerfanta">
{{ pagerfanta(my_pager, 'twitter_bootstrap') }}
</div>
用于Bootstrap 3
<div class="pagerfanta">
{{ pagerfanta(my_pager, 'twitter_bootstrap3') }}
</div>
自定义模板
如果您想使用自定义模板,请添加另一个参数
<div class="pagerfanta">
{{ pagerfanta(my_pager, 'my_template') }}
</div>
带选项的用法
{{ pagerfanta(my_pager, 'default', { 'proximity': 2}) }}
有关参数列表,请参阅Pagerfanta文档。
翻译成您的语言
此扩展包还提供了两个视图来翻译默认和twitter bootstrap视图。
{{ pagerfanta(pagerfanta, 'default_translated') }}
{{ pagerfanta(pagerfanta, 'twitter_bootstrap_translated') }}
添加视图
视图通过pagerfanta.view标签添加到容器中
XML
<service id="pagerfanta.view.default" class="Pagerfanta\View\DefaultView" public="false">
<tag name="pagerfanta.view" alias="default" />
</service>
YAML
services:
pagerfanta.view.default:
class: Pagerfanta\View\DefaultView
public: false
tags: [{ name: pagerfanta.view, alias: default }]
重用选项
有时您想在项目中重用视图的选项,而无需每次渲染视图时都写出来,或者您可以为视图有不同的配置,并想将它们保存在一个地方以便容易更改。
为此,您需要使用特殊视图OptionableView定义视图
services:
pagerfanta.view.my_view_1:
class: Pagerfanta\View\OptionableView
arguments:
- @pagerfanta.view.default
- { proximity: 2, previous_message: Anterior, next_message: Siguiente }
public: false
tags: [{ name: pagerfanta.view, alias: my_view_1 }]
pagerfanta.view.my_view_2:
class: Pagerfanta\View\OptionableView
arguments:
- @pagerfanta.view.default
- { proximity: 5 }
public: false
tags: [{ name: pagerfanta.view, alias: my_view_2 }]
然后使用它们
{{ pagerfanta(pagerfanta, 'my_view_1') }}
{{ pagerfanta(pagerfanta, 'my_view_2') }}
渲染分页器(或分页器!)的最简单方法 ;)
配置
您可以在配置文件中配置所有渲染的默认视图
white_october_pagerfanta:
default_view: my_view_1
默认视图的基本CSS
此扩展包附带了默认视图的基本CSS,以便能够快速使用良好的分页器。当然,您可以更改它,使用另一个或创建自己的视图。
<link rel="stylesheet" href="{{ asset('bundles/whiteoctoberpagerfanta/css/pagerfantaDefault.css') }}" type="text/css" media="all" />
更多信息
有关更详细的文档,请参阅Pagerfanta文档。
作者
Pablo Díez - pablodip@gmail.com
许可
Pagerfanta在MIT许可下授权。有关详细信息,请参阅LICENSE文件。