Knp Paginator bundle和过滤选项问题


Knp Paginator bundle and filtering option issue

我在包含记录列表的页面中使用knp Paginator bundle,并且在同一页面中存在一个搜索框,可以提供在记录列表中搜索的选项。在我给出过滤条件并点击搜索按钮后,列表在页面中显示得很好,但是当列表超过每个页面的限制数量时,例如我点击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'])

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

如果使用GET,则参数在url中,因此参数在下一页的链接上!