Как в CIBlockElement::GetList правильно использовать пагинацию

Данный код поможет понять как разбить элементы инфоблока по разным страницам.

Битрикс API — разбиваем элементы для AJAX и других скриптов

Рассмотрим код который нам нужно указать как 4-ый параметр.

$arNav = array(
	'nTopCount' => false,
	'nPageSize' => $stepCount,
	'iNumPage' => $page,
	'checkOutOfRange' => true
);

и разберем каждый:
nTopCount — ограничивает количество (можно не указывать, можно задать как false на всякий случай)
nPageSize — количество элементов на странице
iNumPage — текущая страница
checkOutOfRange — а вот теперь самое интересное 🙂 Этого параметра вы не найдете в документации на сайте битрикс (на момент написания статьи). НО — без него ваш цикл будет крутиться бесконечно долго, даже когда «страницы» закончаться.

При помощи этого можно делать — аякс загрузку «показать еще», последовательный проход по всем элементам, вывод товаров на разных страницах и много чего другого. И всё это без всяких if, else, break, continue и т.д. 🙂

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru

- Создание сайтов на 1С-Битрикс;
- Доработки и правки на рабочем проекте;
- Адаптивная вёрстка и натяжка на Битрикс;
- Выгрузка и Загрузка товаров на сайт;
- Парсинг товаров;
- Интеграции со сторонними сервисами по API;
- Многоязычные версии сайтов и многое другое.

Пишите, отвечу на любые вопросы.
E-mail: dmitriyribka@gmail.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *