Zend 分页器 AJAX

Zend paginator with AJAX

我在一个页面上列出了多个专辑,每个专辑旁边都列出了关于该专辑的评论。从本质上讲,这意味着在一个页面上有很多关于许多专辑的评论。

为每张专辑的每个评论部分分页的最佳方法是什么?例如,每张专辑一次只显示 3 条评论,使用分页器可以在不离开专辑列表页面的情况下 浏览专辑的其余评论,并且仍然列出其他专辑和与专辑相关的评论。

这可以通过使用 Zend\Paginator 和 AJAX 来实现吗?

(我不一定要寻找完美的代码,因为那是不可能的 - 只是寻找解决问题的最佳方法)

谢谢

编辑

供参考:一种可能的解决方案是在视图中包含一个 link,它会在视图控制器中触发一个新操作以推进分页页面。操作 returns 需要分页的内容的 JsonModel。

欢迎任何更好的方法,谢谢。

这取决于您的 front-end 是如何构建的,但您走在正确的轨道上。 Zend1 提供了一个名为 context switch 的好帮手,它可以为您完成大部分工作(禁用视图,设置适当的 headers),但没有必要使用它。总体思路是将该功能保留在一个操作中,但根据 "who's asking".

显示不同的内容

因此,例如:

  • /albums/show/id/1/ - 会显示专辑 ID=1 的 html 页面和评论
  • /albums/show/id/1/reviews/2 - 会显示专辑 ID=1 的 html 页面,该页面上的评论将从第 2
  • 页开始
  • /albums/show/id/1/reviews/2/context/ajax - 从第 2 页输出 JSON 的 id=1
  • 相册的评论

好处是现在您可以回退 link 而无需 JavaScript 到评论的第 2 页 - 您的代码也更容易理解。

希望对您有所帮助!