Symfony2分页:在超链接中序列化表单



这应该很容易,但找不到解决这个问题的方法。我想对搜索查询的结果进行分页。用户将使用具有多个条件的表单,并且他们可以按页面浏览结果页面。

我不想使用KnpPaginatorBundle,因为搜索可以返回数千个结果,我不想把它们都水合。我使用Doctrine分页器,如果搜索标准是硬编码的,分页部分工作得很好。

我的问题是下一页按钮是一个超链接,它传递正确的页面GET变量,我很难在链接中传递搜索条件。

表单在提交时运行良好,根据我的配置,所有条件都通过GET或POST传递,并且在我调用$form->handleRequest()时更新表单数据。我希望能够在下一页超链接上使用相同的GET变量,这样handleRequest将允许我获取搜索条件,并正确显示每页上显示的搜索表单。

如何生成url编码字符串以添加到下一页超链接?我还对一个更好的解决方案持开放态度,可以在每个页面之间保留搜索条件,但无法在会话中保存它们

我猜您正在使用Symfony路由器生成上一页和下一页的URL。所以你只需要把你的搜索条件作为附加参数。由于这些条件不是路由参数,Symfony将把它们放在GET参数中。

$this->get('router')->generate('search_page', $criteria, true);

http://symfony.com/doc/current/book/routing.html#generating-绝对URL

最新更新