1. 程式人生 > >symfony分頁實現方法

symfony分頁實現方法

ont param creat com render 實現 使用 ext urn

1.symfony分頁是要用到組件的,所以這裏使用KnpPaginatorBundle實現翻頁

2. 用composer下載

在命令行中: composer require "knplabs/knp-paginator-bundle"

3.需要到框架裏面註冊該組件在項目下的app/Resources/AppKernel.php裏面註冊

      public functionregisterBundles() {

         $bundles = [ new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), ];

       }

4.控制器中的代碼

class NewsController extends Controller
{
    /**
     * 2016-1-19
     * auth:lsf
     * 查詢列表
     * @param   int $page   頁數
     * @param   int $limit  顯示條數
    */
    public function indexAction($page,$limit){
        $em = $this->getDoctrine()->getManager();
        $qb = $em->getRepository(‘AppBundle:DemoList‘)->createQueryBuilder(‘u‘);
//Appbundle是你的模塊DemoList是你的表實體 u是別名後面可接條件

        $paginator = $this->get(‘knp_paginator‘);
        $pagination = $paginator->paginate($qb, $page,$limit);
        
        return $this->render(‘news/list.html.twig‘,[‘pagination‘ => $pagination]);
    }
}

5.路由

news_page:
  path: "/news/{page}/{limit}"
  defaults: {_controller: AppBundle:News:index,page:1,limit:2}

6.模板


{% for value in pagination %}
{{value.title}}{#直接就是值了#}
{% endfor %}
{{ knp_pagination_render(pagination) }}

  

symfony分頁實現方法