pdoTools: вывод списка ID (returnIds) и чанков одновременно
Привет, уважаемое сообщество.
Есть задача, решение которой мне никак не даётся. Нужно, чтобы pdoResources или pdoPage (в том числе при работе в рамках mFilter2) возвращали не только список ID (&return = `ids`) или чанки (как по умолчанию), а и то и другое (айди в виде плейсхолдера, чанки по умолчанию).
Например, если я фильтрую инфу при помощи mFilter2, мне нужно получить список всех ID документов выборки (причем не только этой страницы, но и вообще всего результата).
Буду благодарен за совет. Можно ли это реализовать без изменений в ядре pdoTools?
Есть задача, решение которой мне никак не даётся. Нужно, чтобы pdoResources или pdoPage (в том числе при работе в рамках mFilter2) возвращали не только список ID (&return = `ids`) или чанки (как по умолчанию), а и то и другое (айди в виде плейсхолдера, чанки по умолчанию).
Например, если я фильтрую инфу при помощи mFilter2, мне нужно получить список всех ID документов выборки (причем не только этой страницы, но и вообще всего результата).
Буду благодарен за совет. Можно ли это реализовать без изменений в ядре pdoTools?
Комментарии: 3
Попробовал добавить такой код в файл core/components/pdotools/model/pdotools/pdofetch.class.php перед началом подготовки к выводу.
$ids = array();
foreach ($rows as $row) {
$ids[] = $row[$this->pk];
}
$this->modx->setPlaceholder('idsList',implode(',', $ids));
Плейсхолдер срабатывает, но выдаёт только одну актуальную страницу, а мне нужно получить ID всей выборки вне зависимости от количества страниц :(
Ну вызовите 2 раза сниппет в чём проблема. Всё равно запросы к базе при returnIds=1, и returnIds=0 — разные. А можно ещё результат вывода с returnIds=1 подставить во второй вызов. Скажем, &resources=`{$ids}`
Проблема в том, что всё это ещё нужно завязать на mFilter2. Например, отфильтровал я каталог из 1000 позиций, получил выборку в 250 позиций, и мне нужно получить ID всей выборки вне зависимости от страниц пагинации.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.