symfony分頁實現方法
阿新 • • 發佈:2017-10-09
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分頁實現方法