Я использую удаленный 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, чтобы он автоматически компилировал все ссылки так же, как и с обычными данными?
Используйте источник данных Array из этого хранилища. Просто превратите свой JSON-файл в массив или создайте свой собственный JSON Data Source на его основе.
https://github.com/cakephp/datasources
Пагинатор просто принимает параметры URL и превращает их в поиск («все») и поиск («подсчет»). Помощник только имеет дело с генерацией некоторой связи в представлении с параметрами для компонента paginator. Реальное разбиение на страницы происходит путем поиска всех и подсчета с использованием модельного объекта.
Других решений пока нет …