使用自定义模板自定义Pagerfanta分页的布局

时间:2016-02-19 11:47:14

标签: php symfony pagination twig pagerfanta

我安装了Pagerfanta并正在工作,但是我在定制布局方面遇到了困难。我在Github上看到我需要通过my_template,但我不确定应该在哪里配置以及具体指代的内容。

自定义模板

如果要使用自定义模板,请添加另一个参数

<div class="pagerfanta">
    {{ pagerfanta(my_pager, 'my_template') }}
</div>

理想情况下,我想拥有自己可以修改的Twig模板,但是我不知道Pagerfanta是否支持此模板。这一切都是用PHP完成的吗?

2 个答案:

答案 0 :(得分:10)

我认为它不支持Twig模板,但您肯定可以编写自定义Template类来呈现您想要的分页。

让我们说在您的AppBundle中,您需要创建MyCustomTemplate类,该类应该扩展Pagerfanta\View\Template\DefaultTemplate

<?php

namespace Acme\AppBundle\Template;

use Pagerfanta\View\Template\DefaultTemplate;

class MyCustomTemplate extends DefaultTemplate
{
    // override whatever you need here ...
}

然后将其与views服务一起注册到services.yml文件中:

services:
    acme_app.template.my_template:
        class: Acme\AppBundle\Template\MyCustomTemplate

    pagerfanta.view.my_template:
        class: Pagerfanta\View\DefaultView
        public: false
        arguments:
            - "@acme_app.template.my_template"
        tags: [{ name: pagerfanta.view, alias: my_template }]

然后在您的Twig模板中,您将能够使用:

{{ pagerfanta(my_pager, 'my_template') }}

将导致显示自定义分页模板。

答案 1 :(得分:0)

power是您视图的别名。您提供的Github链接的下一部分解释了更多内容。

它看起来像这样

my_template