当前位置: 首页 > 知识库问答 >
问题:

重写KNP分页器实体

丘智志
2023-03-14
  "current_page_number": 1
  "num_items_per_page": 5
  "items": [5]
  "total_count": 35
  "paginator_options": {
  "pageParameterName": "page"
  "sortFieldParameterName": "sort"
  "sortDirectionParameterName": "direction"
  "filterFieldParameterName": "filterField"
  "filterValueParameterName": "filterValue"
  "distinct": true
  }-
  "custom_parameters": [0]
  "route": "api_tags_list"
  "params": [0]
  "page_range": 5
  "template": "KnpPaginatorBundle:Pagination:sliding.html.twig"
  "sortable_template": 
  "KnpPaginatorBundle:Pagination:sortable_link.html.twig"
  "filtration_template": 
  "KnpPaginatorBundle:Pagination:filtration.html.twig" 

期望输出:

  "current_page_number": 1
  "num_items_per_page": 5
  "items": [5]
  "total_count": 35
  "paginator_options": {
  "pageParameterName": "page"
  "sortFieldParameterName": "sort"
  "sortDirectionParameterName": "direction"
  "filterFieldParameterName": "filterField"
  "filterValueParameterName": "filterValue"
  "distinct": true
  }-
  "custom_parameters": [0]
  "route": "api_tags_list"
  "params": [0]
  "page_range": 5
  "total_page_number": 7

共有1个答案

丌官嘉良
2023-03-14

您可以以两种方式进行:

1)定义KNP分页器的序列化,定义您想要显示的内容(您也可以使用jms订阅服务器或banzigahatoas bundle定义Prev/Next路由)。控制器中的结果是:

 $paginator  = $this->get('knp_paginator');
        $data =
            $paginator->paginate(
                $query, /* query NOT result */
                2 /*page number*/,
                2/*limit per page*/
            );
         return $data;

2)或以这种方式手工管理结果:

$paginator  = $this->get('knp_paginator');
        $data =
            $paginator->paginate(
                $query, /* query NOT result */
                2 /*page number*/,
                2/*limit per page*/
            );
        return [
            'items' => $data->getItems(),
            'pagination' => $this->paginationToArray($data)
        ];
 类似资料:
  • 本文向大家介绍php 重写分页器 CLinkPager的实例,包括了php 重写分页器 CLinkPager的实例的使用技巧和注意事项,需要的朋友参考一下 php 重写分页器 CLinkPager的实例 1、自定义的分页器类放在哪里? 有两个位置可以放, 第一种是放在 protected/extensions 中,在使用是import进来,或在config文件中import进来; 第二种是放在 p

  • 我正在Symfony 3和Sonata建立博客。我想使用knp分页器,所以我把命令: 这给了我一个错误: phr://usr/本地/bin/composer.phar/src/Composer/DependencyResolver/Solver.php行220 所以我这样做了: 这给了我: 如果我只是在composer.json中添加这一行并运行composer update,它会给我相同的大小错

  • 我需要更改特定映射的最大页面大小,但我所知道的唯一方法是更改属性文件的。 但我只需要针对特定的endpoint更改它,而不影响其他endpoint。

  • 这些天我在学习codeigniter。几天前我做了一个自己使用的网站,今天我刚刚应用了分页,但似乎我的url重写有问题。