Работа DocLister без обращения к базе

Дяденьки, подскажите правильное решение — как избавиться от лишних обращений к базе при работе с DocLister.

Есть готовый массив:
{
0=>[ id=>2, pagetitle=>'sss',...]
1=>[ id=>2, pagetitle=>'zzz',...]

}

Сейчас же, я просто передаю заранее подготовленный список id документов и доклистер тянет с базы поля для чанка( DocLister? docs='1,15,222,45,...' ).
Но это двойная работа — так как содержимое этих полей уже есть в памяти (массиве), и надо лишь указать доклистеру на этот массив.

Вопрос:
Как/(Можно ли) в DocLister передать уже готовый «массив/объект» и далее через чанк стандартно выводить на экран?

9 комментариев

avatar
может тогда стоит без доклистера: foreach и $modx->parseChunk();?
avatar
можно, но тогда надо писать свой код для пагинации, к примеру. а зачем? ведь doclister есть — пусть обрабатbIвает и рисует все как надо.
avatar
Не очень понятно, что в итоге хочется получить. Если уже есть массив, так дайте его Доклистеру…
  • 1px
  • 0
avatar
так єто, куда его давать? не очень понятно как. в єтом и вопрос.
avatar
можно попробовать на основе контроллера onetable создать свой. В существующие из массива не подсунешь.
avatar
ок
avatar
docs.evo.im/04_extras/doclister/developers.html предпоследний абзац
avatar
такой же вариант предложил gtx59. а пагинация как же?
avatar
Тогда храните в массиве только айдишники, чтобы не жалко было, что он второй раз собирается :)

Никто же не запрещает запилить пагинацию свою, читать какой-нибудь $_GET['page'] и foreach запускать по срезу массива в зависимости от номера страницы умноженного на количество страниц...

Но зачем...?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.