Постраничная навигация по разделам

Пагинация - сокращенно от "Постраничная навигация", в этой статье рассмотрим пример постранички для разделов (категорий) инфоблока.

Готовый пример кода, копируйте код в отдельный 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

Постраничку можно выводить в любом месте, присваиваем переменной и выводим, все параметры описаны в документации.

Имя *
Логин (мин. 3 символа)
E-mail *
*— обязательные для заполнения поля
Логин или e-mail
TUNING-SOFT.RU Разработка умных веб-сервисов