Cakephp 2.x:如何从现有数组(json等)中分页数据


Cakephp 2.x: how to paginate data from an existing array (json, etc)?

我使用远程API来检索我正在缓存的数据(xml,json格式)。但是我需要在渲染之前正确分页这些数据。

我不想将此数据存储在数据库中。

我可以重新创建一个 PHPPaginator 组件并自己进行数据操作(哈希::排序、过滤等),就像这里提到的那样,但我很想重用分页助手。

我试图了解分页器组件如何将数据传输到分页器帮助程序,但我找不到它的实例化位置以及数据的设置位置。

我看到了经典模型的$this->分页器>设置:

array(
'page' => (int) 1,
'current' => (int) 100,
'count' => (int) 341,
'prevPage' => false,
'nextPage' => true,
'pageCount' => (int) 4,
'order' => 'Model.created DESC',
'limit' => (int) 100,
'options' => array(),
'paramType' => 'named'
)

我应该如何实例化分页器帮助程序,以便它以与处理普通数据相同的方式自动生成所有链接?

使用此存储库中的数组数据源。只需将 json 文件转换为数组或基于它创建自己的 JSON 数据源即可。

https://github.com/cakephp/datasources

分页器只是获取URL参数并将它们转换为find('all')和find('count')。帮助程序只是处理在视图中生成一些带有分页器组件参数的链接。真正的分页通过使用模型对象查找所有和计数来实现。