Увеличь количество на одной странице или ограничь выборку максимальной датой, чтобы не все ресурсы попадали.
Не работает ограничение по дате, в смысле у меня всё равно в пагинации "страниц" тьма.
[[!pdoPage? &parents=`0` &element=`hotnewsRos` &limit=`10` &maxLimit=`999` &cache=`1` &cacheTime=`3600` &pageLinkScheme=`/[[+pageVarKey]][[+page]]` &pageLimit=`9` &tplPageWrapper=`@INLINE <div class="site-content__content__pager hidden-xs"><ul>[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul></div>` &tplPage=`@INLINE <li><a href="[[+href]]" title="Страница [[+page]]">[[+pageNo]]</a></li>` &tplPageActive=`@INLINE <li><span>[[+pageNo]]</span></li>` &tplPageSkip=`@INLINE <li class="disabled">...</li>` &tplPagePrev=`@INLINE <li><a href="[[+href]]">‹</a></li>` &tplPageNext=`@INLINE <li><a href="[[+href]]">›</a></li>` &tplPageFirst=`@INLINE <li><a href="[[+href]]" title="Страница [[+page]]">«</a></li>` &tplPageLast=`@INLINE <li><a href="[[+href]]" title="Страница [[+page]]">»</a></li>` &tplPageFirstEmpty=`@INLINE <li><span>Первая</span></li>` &tplPageLastEmpty=`@INLINE <li><span>Последняя</span></li>` &tplPagePrevEmpty=`@INLINE <li><span>‹</span></li>` &tplPageNextEmpty=`@INLINE <li><span>›</span></li>` ]] [[!+page.nav]]
Понятно, ограничение нужно добавлять в hotnewsRos очевидно он параметр where не знает.
Вам нужно ограничение ввести в своем сниппете. Логику лимита выстроить.
А что именно добавлял?
'addDate:>=' => '2022-01-00'
addDate в БД какого типа?
МОжно обработав LIMIT правильно в своем сниппете.
Чот даже не представляю. Сниппет у меня выводит всё правильно по условию, на одной странице (ресурсе) к примеру максимум 1000 таких записей, на другой макс 99 других записей. А вот в пагинации все 1099 записи.
ну, вы же знаете кол-во всего записей, которые в выборке? берете кол-во записей на странице и обычным делением получаете кол-во страниц... простая математика. в ваш запрос к БД правильно формируете цифрки для запроса, ну как бы и все.
Не пойму, почему выборка записей нормальная по условию, а в пагинации они из всей таблицы. Смог ограничить так. $c = $modx->newQuery(HotNewsItem::class); $c->where($where); $c->limit($limit, $offset); $items = $modx->getIterator(HotNewsItem::class, $c); //$total = $modx->getCount(HotNewsItem::class, $с); $total = 999;
Обсуждают сегодня