Как в 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 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

2 коментаря

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *