我使用KnpPaginatorBundle在我网站的后台管理分页,并且效果很好

我将其配置为使用自定义模板

knp_paginator:
    template:
        pagination: MyappMainBundle::pagination.html.twig


然后,我想在前台使用相同的包,但HTML结构不同。
因此,我的问题是:是否可以有两个分页模板?一个用于后台,一个用于前台。

预先感谢您的回答。

最佳答案

您可以在控制器中自定义分页模板:

$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate($target, $page);
$pagination->setTemplate('MyBundle:Pagination:pagination.html.twig');
$pagination->setSortableTemplate('MyBundle:Pagination:sortable.html.twig');


在视图中:

{% do pagination.setTemplate('MyBundle:Pagination:pagination.html.twig') %}


或(更好)在render方法中:

{{ knp_pagination_render(pagination, 'MyBundle:Pagination:pagination.html.twig') }}


the doc of the bundle中的更多信息

关于php - 与KnpPaginatorBundle一起使用多个模板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31448988/

10-09 05:30