Как в 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С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

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

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