Шаблон постраничной навигации с сохранением возможности обратной пагинации(используется в блоге)
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$this->setFrameMode(true);
if(!$arResult["NavShowAlways"])
{
if ($arResult["NavRecordCount"] == 0 || ($arResult["NavPageCount"] == 1 && $arResult["NavShowAll"] == false))
return;
}
$strNavQueryString = ($arResult["NavQueryString"] != "" ? $arResult["NavQueryString"]."&" : "");
$strNavQueryStringFull = ($arResult["NavQueryString"] != "" ? "?".$arResult["NavQueryString"] : "");
?>
<div class="paginationCustom text-center">
<?if($arResult["bDescPageNumbering"] === true):?>
<?if ($arResult["NavPageNomer"] < $arResult["NavPageCount"]):?>
<?if ($arResult["NavPageCount"] == ($arResult["NavPageNomer"]+1) ):?>
<a class="prevPage paginationArrow glyphicon glyphicon-chevron-left" href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"></a>
<?else:?>
<a class="prevPage paginationArrow glyphicon glyphicon-chevron-left" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]+1)?>"></a>
|
<?endif?>
<?else:?>
<a class="prevPage paginationArrow glyphicon glyphicon-chevron-left disable"></a>
<?endif?>
<?while($arResult["nStartPage"] >= $arResult["nEndPage"]):?>
<?$NavRecordGroupPrint = $arResult["NavPageCount"] - $arResult["nStartPage"] + 1;?>
<?if ($arResult["nStartPage"] == $arResult["NavPageNomer"]):?>
<span><?=$NavRecordGroupPrint?></span>
<?elseif($arResult["nStartPage"] == $arResult["NavPageCount"] && $arResult["bSavePage"] == false):?>
<a href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"><?=$NavRecordGroupPrint?></a>
<?else:?>
<a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=$arResult["nStartPage"]?>" class="item"><?=$NavRecordGroupPrint?></a>
<?endif?>
<?$arResult["nStartPage"]--?>
<?endwhile?>
<?if ($arResult["NavPageNomer"] > 1):?>
<a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]-1)?>" class="nextPage paginationArrow glyphicon glyphicon-chevron-right"></a>
<?else:?>
<a class="nextPage paginationArrow glyphicon glyphicon-chevron-right disable"></a>
<?endif?>
<?else:?>
<?
if ($arResult["NavPageNomer"] > 1) {
echo '<a class="prevPage paginationArrow glyphicon glyphicon-chevron-left" href="'.$arResult["sUrlPath"].'?'.$strNavQueryString.'PAGEN_'.$arResult["NavNum"].'=1"></a>';
} else {
echo '<a class="prevPage paginationArrow glyphicon glyphicon-chevron-left disable"></a>';
}
while($arResult["nStartPage"] <= $arResult["nEndPage"]) {
if ($arResult["nStartPage"] == $arResult["NavPageNomer"]) {
echo '<span>'.$arResult["nStartPage"].'</span>';
} elseif ($arResult["nStartPage"] == 1 && $arResult["bSavePage"] == false) {
echo '<a href="'.$arResult["sUrlPath"].$strNavQueryStringFull.'" class="item" title="'.$arResult["nStartPage"].'">'.$arResult["nStartPage"].'</a>';
} else {
echo '<a href="'.$arResult["sUrlPath"].'?'.$strNavQueryString.'PAGEN_'.$arResult["NavNum"].'='.$arResult["nStartPage"].'" class="item" title="'.$arResult["nStartPage"].'">'.$arResult["nStartPage"].'</a>';
}
$arResult["nStartPage"]++;
}
if($arResult["NavPageNomer"] < $arResult["NavPageCount"]) {
echo '<a href="'.$arResult["sUrlPath"].'?'.$strNavQueryString.'PAGEN_'.$arResult["NavNum"].'='.($arResult["NavPageNomer"]+1).'" class="nextPage paginationArrow glyphicon glyphicon-chevron-right"></a>';
} else {
echo '<a href="#" class="nextPage paginationArrow glyphicon glyphicon-chevron-right"></a>';
}
?>
<?endif;?>
</div>