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

时间:2014-01-07 11:11:55

标签: php forms symfony pagination

这应该很简单但无法找到解决此问题的方法。我想分页搜索查询的结果。用户将使用具有多个条件的表单,他们可以浏览每页的结果页面。

我不想使用KnpPaginatorBundle,因为搜索可以返回数千个结果,我不想将它们全部保湿。我使用Doctrine paginator,如果搜索条件是硬编码的,则分页部分效果很好。

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

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

如何生成要添加到下一页超链接的网址编码字符串?我也开放了一个更好的解决方案,以保持每个页面之间的搜索条件,但无法将它们保存在会话中。

1 个答案:

答案 0 :(得分:1)

我猜您正在使用Symfony路由器生成上一页和下一页的网址。因此,您只需将其搜索条件作为附加参数。由于这些标准不是路由参数,Symfony会将它们放在GET参数中。

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

http://symfony.com/doc/current/book/routing.html#generating-absolute-urls