【问题标题】:Knp Paginator bundle and filtering option issueKnp Paginator 捆绑包和过滤选项问题
【发布时间】:2014-05-19 15:51:43
【问题描述】:

我在包含记录列表的页面中使用 knp Paginator 捆绑包,并且在同一页面中存在一个搜索框,可以提供搜索记录列表的选项。 在我给出过滤器词并点击搜索按钮后,列表在页面中很好地显示,但是当列表超过每个页面的限制数量并且我点击例如 knp bundle paginator 的第 2 页按钮时,它会加载我所有的记录,它不记得我输入的术语。

你会发现我的方法动作用于过滤:

public function searchAction(Request $request)
    {

        $em = $this->getDoctrine()->getManager();
        $form =  $this->createSearchForm();
        $form->handleRequest($request);
        //initialisation de l'objet paginator
        $paginator  = $this->get('knp_paginator');

            $data=$form->getData();
            $entities = $em->getRepository('EnsDataBundle:Data')->findterm($data['searchterm']);

            $pagination = $paginator->paginate($entities, $this->get('request')->query->get('page', 1),3);


            return $this->render('EnsDataBundle:Data:index.html.twig', array(
                'entities' => $pagination,
                'form' => $form->createView(),
            ));
    }

上面的方法在没有 knp paginator bundle 的情况下效果很好,所以问题是我如何让 knp paginator bundle 在多个页面上使用相同的搜索词 ($data['searchterm'])

【问题讨论】:

    标签: php symfony pagination knppaginator


    【解决方案1】:

    一种解决方案是使用 GET 表单,而不是 POST 表单。

    如果你使用GET,参数在url中,所以参数在下一页的链接上!

    【讨论】:

    • 如此简单,却是救命稻草 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 2012-12-08
    • 2019-07-03
    • 2019-06-27
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    相关资源
    最近更新 更多