nitra / pagerfanta-bundle

此包已被弃用且不再维护。未建议替代包。

用于在Symfony2中使用Pagerfanta的扩展包

安装数: 1,598

依赖项: 1

建议者: 0

安全: 0

类型:symfony-bundle

v1.0.2 2014-01-07 14:33 UTC

README

Build Status Scrutinizer Quality Score SensioLabsInsight

用于在PagerfantaSymfony2中使用的扩展包。

注意:如果您使用的是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文件。

赞助商

WhiteOctober