В системе Bitrix постраничная навигация реализована с помощью компонента system.pagenavigation. Постраничная навигация используется в различных компонентах при выводе каталога, новостной ленты, статей и прочей информации.
Рассмотрим пример вызова постраничной навигации из компонента посредством метода CMain::GetPageNavStringEx, реализованным в возвращаемым методом CIBlockElement::GetList объекте типа CIBlockResult.
Пример из компонентов 2.0:
<? $rsElements = CIBlockElement::GetList( $arSort, $arFilter, false, array( "nPageSize" => $arParams["PAGE_COUNT"], "bShowAll" => false ), $arSelect ); //.... $arResult["NAV_STRING"] = $rsElements->GetPageNavStringEx( $navComponentObject, "", $arParams["PAGER_TEMPLATE"] ); ?>
Таким образом, переменной $arResult[«NAV_STRING»] будет присвоен результат работы компонента bitrix:system.pagenavigation, с шаблоном $arParams[«PAGER_TEMPLATE»]. Если переменная $arParams[«PAGER_TEMPLATE»] пуста, то имя по умолчанию имя шаблона равно .default.
Теперь зададим кол-во выводимых кнопок-страниц постраничной навигации. Для этого перед вызовом метода GetPageNavStringEx (см. пример выше) надо задать свойство nPageWindow:
$rsElements->nPageWindow = 5;
После чего кол-во будет равным значению, которое вы указали.
Как в bitrix:catalog вывести больше страниц?