我安装了Pagerfanta并正在工作,但是我在定制布局方面遇到了困难。我在Github上看到我需要通过my_template
,但我不确定应该在哪里配置以及具体指代的内容。
自定义模板
如果要使用自定义模板,请添加另一个参数
<div class="pagerfanta">
{{ pagerfanta(my_pager, 'my_template') }}
</div>
理想情况下,我想拥有自己可以修改的Twig模板,但是我不知道Pagerfanta是否支持此模板。这一切都是用PHP完成的吗?
答案 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