Как правильно в битрикс настроить пагинацию для CIBlockElement?

Настраивая пагинацию для CIBlockElement в 1C-Bitrix, вы должны следовать нескольким шагам:

Шаг 1: Определите параметры пагинации
Перед использованием пагинации, вам необходимо определить параметры пагинации:
- Элементы на странице (сколько элементов вы хотите показать на одной странице).
- Число элементов. Это общее число элементов, которые вы хотите охватить пагинацией.

Шаг 2: Создайте экземпляр класса CIBlockElement
Создайте экземпляр класса CIBlockElement с помощью оператора new:

$elements = new CIBlockElement;

Шаг 3: Установите параметры фильтрации и сортировки
Используйте метод SetFilter() экземпляра CIBlockElement, чтобы установить фильтр и сортировку элементов, которые вы хотите показать на странице. Например:

$elements->SetFilter(array(
    "IBLOCK_ID" => 1,
));
$elements->SetOrder(array(
    "SORT" => "ASC",
));

Шаг 4: Получите общее число элементов
Используйте метод GetList() экземпляра CIBlockElement для получения общего числа элементов, которые соответствуют вашему фильтру:

$count = $elements->GetList(array(), array(), array());

Шаг 5: Установите параметры пагинации
Используйте метод NavStart() экземпляра CIBlockElement, чтобы установить параметры пагинации:

$pageSize = 10; // число элементов на странице
$pageNavigation = new BitrixMainUIPageNavigation("page"); // создаем объект класса PageNavigation для пагинации
$pageNavigation->allowAllRecords(false) // запрещаем показ всех элементов
               ->setPageSize($pageSize) // устанавливаем число элементов на странице
               ->setRecordCount($count); // устанавливаем общее число элементов

Шаг 6: Получите данные элементов на текущей странице
Используйте метод GetNext() экземпляра CIBlockElement для получения данных элементов на текущей странице:

$elements->NavStart($pageSize); // устанавливаем параметры пагинации
while ($element = $elements->GetNext()) {
    // обработка данных элемента
}

Шаг 7: Выведите навигацию
Используйте метод GetPageNavString() экземпляра CIBlockElement для вывода пагинации на странице:

echo $elements->GetPageNavString(); // выводим пагинацию

В результате, вы должны получить настроенную пагинацию для CIBlockElement в 1C-Bitrix.