Cakephp 2.x: как разбить на страницы данные из существующего массива (json и т. Д.)?

Я использую удаленный API для извлечения данных (в формате xml, json), которые я кеширую.
Но мне нужно правильно разбить эти данные на страницы перед рендерингом.

Я не хочу хранить эти данные в базе данных.

Я в порядке, чтобы воссоздать компонент PHPPaginator и выполнить обработку данных самостоятельно (Hash :: sort, filtering и т. Д.) как упомянуто здесь но я хотел бы использовать помощника по разбиению на страницы.

Я пытался понять, как компонент Paginator передает данные в помощник Paginator, но я не смог найти, где он был создан и где были установлены данные.

Я видел настройки $ this-> Paginator-> для классической модели:

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'
)

Как мне создать экземпляр помощника Paginator, чтобы он автоматически компилировал все ссылки так же, как и с обычными данными?

0

Решение

Используйте источник данных Array из этого хранилища. Просто превратите свой JSON-файл в массив или создайте свой собственный JSON Data Source на его основе.

https://github.com/cakephp/datasources

Пагинатор просто принимает параметры URL и превращает их в поиск («все») и поиск («подсчет»). Помощник только имеет дело с генерацией некоторой связи в представлении с параметрами для компонента paginator. Реальное разбиение на страницы происходит путем поиска всех и подсчета с использованием модельного объекта.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector