konratnox
11/25/2016 - 9:06 AM

Шаблон постраничной навигации с сохранением возможности обратной пагинации(используется в блоге)

Шаблон постраничной навигации с сохранением возможности обратной пагинации(используется в блоге)

<?
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"]."&amp;" : "");
$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>