Документация для разработчиков

GetPageNavStringEx

CMain::GetPageNavStringEx(
 navComponentObject,
 navigationTitle, 
 templateName = "",
 showAlways=false,
 parentComponent=nul
componentParams
 )

Возвращает панель постраничной навигации в HTML виде. Формирует ее на основе параметров. Нестатический метод.

Параметры

Параметр Описание С версии
navComponentObjectИспользовать обратную навигацию
navigationTitle Название категорий
templateNameНазвание шаблона
showAlways Выводить всегда
parentComponentВремя кеширования страниц для обратной навигации 12.5.7
componentParamsИспользуется для подмены массива $arParams для компонента system.pagenavigation на основе которого работает метод. Например если делаем выборку результата по ajax с полученим на выходе пагинацию для той страницы, с которой уходил $_POST:
$res = CIBlockElement::GetList(Array("SORT"=>"ASC", "ID"=>"ASC"), $_POST["myFilter"], false, $arNavStartParams, $arSelect);
$res->NAV_STRING = $res->GetPageNavStringEx($navComponentObject, "", "qp_korm", true, null, array("BASE_LINK"=>$_SERVER["HTTP_REFERER"]);
15.5.0

Примеры использования

CModule::IncludeModule('iblock');
$arSort = array();
$arFilter = array('IBLOCK_ID'=> '1');
$arNavParams = array(
        "nPageSize" => '2',
        "bDescPageNumbering" => 'Описание',
        "bShowAll" => 'Y',
    );  

$arSelect = array("ID", "NAME");
$rsElement = CIBlockElement::GetList($arSort, $arFilter, false, $arNavParams, $arSelect);
$NAV_STRING = $rsElement->GetPageNavStringEx($navComponentObject, 'Заголовок', '', 'Y');
echo $NAV_STRING."
"; while($arElem = $rsElement->Fetch()) { echo $arElem['ID']."__".$arElem["NAME"]."
"; } echo $NAV_STRING;

Пример использования в компонентах 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"] у нас полная постраничная навигация, обернутая в шаблон $arParams["PAGER_TEMPLATE"]. Если $arParams["PAGER_TEMPLATE"] пуст, то берется .default.

Иногда надо чтобы не выводилось много страниц (1....11, 12, 13, 14, 15, 16, 17...100) а, например 3 (1....14, 15, 16...100).

В примере выше перед вызовом GetPageNavStringEx надо поставить:

$rsElements->nPageWindow = 3;


© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх