一起源码网

  • www.171739.xyz
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 8161|回复: 1
打印 上一主题 下一主题

使用symfony分页的实现方法

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-5-10 23:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.symfony分页是要用到组件的,所以这里使用KnpPaginatorBundle实现翻页

2. 用composer下载

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

3.需要到框架里面注册该组件在项目下的app/Resources/AppKernel.php里面注册   

 public functionregisterBundles() {   
            $bundles = [                     
            new   KnpBundlePaginatorBundleKnpPaginatorBundle(),         ];    
         }

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) }}

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

22

帖子

68

积分

等待验证会员

积分
68
沙发
发表于 2022-10-6 11:07 来自手机 | 只看该作者
免费注册个人网站不花钱
回复

使用道具 举报

一起源码让程序更轻更快

www.171739.xyz

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表