symfony分页实现方法
来源:互联网 发布:工业机器人软件平台 编辑:程序博客网 时间:2024/05/16 18:45
前面仿照生成数据库实体,
一个分页让我无语了好长时间,找了各种资料,就是不知道怎么入门,官方文档又没有说,这里说一下吧!
好了言归正传:symfony分页是要用到组件的,symfony的核心就是善于使用别人的代码愉快的做一个程序员所以这里使用KnpPaginatorBundle实现翻页
运行命令拉去组件
composer require "knplabs/knp-paginator-bundle"
下面是我运行的命令截图
这里大约要等十秒钟到5分钟左右看网速
拉取完成后,就需要到框架里面注册该组件在项目下的app/Resources/AppKernel.php里面注册
// app/AppKernel.phpclass AppKernel extends Kernel{ public functionregisterBundles() { $bundles = [ new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), ]; }}
再在控制器里面添加
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]); }}顺便贴一下路由地址做什么肯定要做全套,不然你们说我不厚道
在config文件夹下面的路由配置文件
routing.yml文件里面添加
news_page: path: "/news/{page}/{limit}" defaults: {_controller: AppBundle:News:index,page:1,limit:2}不过这里不建议这样写,每页的条数肯定建议写配置文件里面,就不用这么麻烦了
再就是页面了
{#这是循环读取内容不用说了,肯定都晓得撒!#}{% for value in pagination %}{{value.title}}{#直接就是值了#}当然不建议我这么写,建议request,我这么写只是个人喜好{% endfor %}{{ knp_pagination_render(pagination) }}{##}这里是分页代码,是不是很简单呀!
0 0
- symfony分页实现方法
- symfony中的forword方法
- symfony 使用excel方法
- symfony 加载插件方法
- php分页实现方法
- AspNetPager分页方法实现
- GridView 分页实现方法
- 实现分页方法小结
- 实现DataList分页方法
- symfony
- symfony
- Symfony
- symfony
- symfony
- symfony
- symfony
- Symfony
- Symfony
- Mongodb的日志扩展--logback(顶)
- Win7下配置nginx和php5
- MySQL字符集操作
- 微观经济学-- 第1章 经济学十大原理
- 获取上线APP的连接地址
- symfony分页实现方法
- struts环境本机搭建
- ApplePay 实现代码片段
- 第一行代码-7.3 创建自己的内容提供器
- vim 的使用方法
- 【三层架构】——基础知识
- linux下网络程序遭遇SIGPIPE的解决(转)
- app store 获取app信息
- 使用自定义framework 注意事项