16.11.2021

Добавить пагинацию в Битрикс (API)

Добавляем пагинацию к GetList. Первичный базовый код:


$res = CIBlockElement::GetList(
   array(), 
   $arFilter, 
   false, 
   array("nPageSize" => 10), 
   $arSelect);

while ($ob = $res->GetNextElement()) {
   $arFields = $ob->GetFields();
   echo '<pre>';
   print_r($arFields);
   echo '</pre>';
}


Нужно добавить два метода NavStart и NavPrint. Код с доработками:


$res = CIBlockElement::GetList(
   array(), 
   $arFilter, 
   false, 
   array("nPageSize" => 10), 
   $arSelect);

$res->NavStart(0); // разбивает результат выборки на страницы
while ($ob = $res->GetNextElement()) {
   $arFields = $ob->GetFields();
   echo '<pre>';
   print_r($arFields);
   echo '</pre>';
}
echo $res->NavPrint("Сотрудники"); // выводит ссылки для постраничной навигации



Автор проекта: Dimos
Заметки программиста, дизайнера, геймдев-мастера.
Делюсь опытом.