Пагинация - сокращенно от "Постраничная навигация", в этой статье рассмотрим пример постранички для разделов (категорий) инфоблока.
Готовый пример кода, копируйте код в отдельный php-файл, открывайте этот файл в браузере, меняйте инфоблок IBLOCK_ID
на свой и проверяйте работу скрипта, если все работает, можно внедрять в свои решения.
<?php
define('STOP_STATISTICS', true);
define('NO_KEEP_STATISTIC', 'Y');
define('NO_AGENT_STATISTIC', 'Y');
define('SITE_ID', 's1');
define('LANGUAGE_ID', 'ru');
use Bitrix\Main\Loader;
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');
//error_reporting(E_ALL);
Loader::includeModule('iblock');
$arNavParams = array(
'nPageSize' => 5,
'bDescPageNumbering' => false,
'bShowAll' => true,
);
$arOrder = array('left_margin' => 'asc');
$arFilter = Array(
'IBLOCK_ID' => 49,
'ACTIVE' => 'Y',
'GLOBAL_ACTIVE' => 'Y',
);
$rsContent = CIBlockSection::GetList($arOrder, $arFilter, false, $arSelect, $arNavParams);
$navigation = $rsContent->GetPageNavStringEx(
$navComponentObject,
'Товары',
'' //round
);
while($arSection = $rsContent->GetNext()) {
echo $arSection['NAME'] . ' (' . $arSection['ID'] . ')<br>';
}
echo '<br>' . $navigation;
?>
Так будут выводиться разделы в примере
Данный метод $rsContent->GetPageNavStringEx()
подключает компонент с шаблоном .default
/bitrix/components/bitrix/system.pagenavigation
Также, данный метод можно использовать в компоненте catalog.section.list
/bitrix/components/bitrix/catalog.section.list
Постраничку можно выводить в любом месте, присваиваем переменной и выводим, все параметры описаны в документации.