切换页面symfony 3时,Knp paginator bundle无法正常工作?

时间:2017-02-07 23:50:10

标签: php pagination twig symfony

我已经在我的项目中安装了knp paginator捆绑包,我在git hub中跟随安装tuto,然后每件事都工作但我的控制器出现问题我将每页的限制修复为1项并且我在切换时发现它向我显示了2个项目

这是我的控制器

public function membreGroupeAction(Request $request)
{
    $em = $this->getDoctrine()->getManager();
    $str = $em->getRepository("GroupGroupBundle:Groupe")->findOneBy(array('id'=>1));
    $member = $em->getRepository("GroupGroupBundle:Groupe")->getmemberlist($str->getMembres());

    $paginator  = $this->get('knp_paginator');
    $res = $pagination = $paginator->paginate(
        $member, /* query NOT result */
        $request->query->getInt('page', 1),       /*page number*/
        $request->query->getInt('page', 1)        /*limit per page*/
    );


    return $this->render('@GroupGroup/layout/membres.html.twig',array("mem"=>$res));

}

这是我的树枝视图

 {% extends '@GroupGroup/Group/groupe_mur_base.html.twig' %}
 {% block panel %}

<div class="jumbotron list-content" style="display: block;">
    <ul class="list-group">
        <li href="#" class="list-group-item title">
            Liste des Membres
        </li>
        {% for i in  mem %}
            <li href="#" class="list-group-item text-left" id="listmembre" style="display: block;">

                <div class="image">
                    <img class="img-thumbnail" src="{{ i.profile_pic }}">
                    <span id="membername">{{ i.nom }} {{ i.prenom }}</span>
                    <div><button id="btnajout" class="btn btn-primary">Ajouter</button></div>

                </div>
                <div class="break"></div>
            </li>
        {% endfor %}




        <li href="#" class="list-group-item text-left">
            <div class="navigation text-center" >
                {{ knp_pagination_render(mem) }}
            </div>
        </li>
    </ul>
</div>
  {% endblock %}

这是我在第一页的输出 first page

这是我点击第2页后的输出 2nd page output

2 个答案:

答案 0 :(得分:0)

您没有将限制设置为1,而是将其设置为当前页面。

$res = $pagination = $paginator->paginate(
    $member, /* query NOT result */
    $request->query->getInt('page', 1),       /*page number*/
    $request->query->getInt('page', 1) // <-- right here
);

将标记的行更改为1,您应该没问题。

答案 1 :(得分:0)

这是我发现错误的正确代码 现在一切都很完美

$paginator  = $this->get('knp_paginator');
    $res = $pagination = $paginator->paginate(
        $member, /* query NOT result */
        $request->query->getInt('page', 1),       /*page number*/
        $request->query->getInt('limit', 1)        /*limit per page*/
    );