使用KnpPaginatorBundle的多个模板

时间:2015-07-16 08:24:37

标签: php symfony twig symfony-2.5 knppaginator

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

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

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

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

提前感谢您的回答。

1 个答案:

答案 0 :(得分:5)

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

$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

中的更多信息