2016-02-19 155 views
2

我已經安裝並運行了Pagerfanta,但是我很難自定義佈局。我閱讀Github,我需要通過my_template,但我不確定這應該配置的位置以及這是指什麼特定的。使用自定義模板自定義Pagerfanta分頁的佈局

自定義模板

如果你想使用自定義模板,添加另一種說法

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

理想情況下,我想有我自己的枝杈的模板,我可以修改,但我不不知道Pagerfanta是否支持這一點。這一切是用PHP完成的嗎?

回答

8

我不認爲它支持枝條的模板,但可以肯定,你可以編寫自定義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 ... 
} 

然後將其註冊在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 }] 

然後在您的樹枝模板中,您將可以使用:

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

這將導致顯示您的自定義分頁模板。

0

my_template是您視圖的別名。你提供的Github鏈接中的下一部分解釋了更多。

這將是這個樣子

services: 
    app.view.my_template: 
     class: App\View\MyView 
     public: false 
     tags: [{ name: pagerfanta.view, alias: my_template }]