2

我使用 KnpPaginatorBundle 来管理我网站后台的分页,它运行良好

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

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

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

提前感谢您的回答。

4

1 回答 1

7

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

$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') %}

或(更好)在渲染方法中:

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

捆绑包文档中的更多信息

于 2015-07-16T08:28:49.547 回答