Есть компонент
system.pagenavigation/.default
Как можно вывести все страницы в пагинации. Например 17 страниц выводятся так.
сейчас выводится 1,2,3,4,17
spoiler<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
/** @var array $arParams */
/** @var array $arResult */
/** @var CBitrixComponentTemplate $this */
$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="pagination">
<ul class="pagination-page">
<?if($arResult["bDescPageNumbering"] === true):?>
<?if ($arResult["NavPageNomer"] < $arResult["NavPageCount"]):?>
<?if($arResult["bSavePage"]):?>
<li class="pagination-page-prev"><a class="pagination-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]+1)?>"><span><?echo GetMessage("round_nav_back")?></span></a></li>
<li class="pagination-page-item"><a class="pagination-page-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]+1)?>"><span>1</span></a></li>
<?else:?>
<?if (($arResult["NavPageNomer"]+1) == $arResult["NavPageCount"]):?>
<li class="pagination-page-prev"><a class="pagination-link" href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"><span><?echo GetMessage("round_nav_back")?></span></a></li>
<?else:?>
<li class="pagination-page-prev"><a class="pagination-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]+1)?>"><span><?echo GetMessage("round_nav_back")?></span></a></li>
<?endif?>
<li class="pagination-page-item"><a class="pagination-page-link" href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"><span>1</span></a></li>
<?endif?>
<?else:?>
<li class="pagination-page-prev"><span><?echo GetMessage("round_nav_back")?></span></li>
<li class="pagination-page-item"><span class="pagination-page-link is-active">1</span></li>
<?endif?>
<?
$arResult["nStartPage"]--;
while($arResult["nStartPage"] >= $arResult["nEndPage"]+1):
?>
<?$NavRecordGroupPrint = $arResult["NavPageCount"] - $arResult["nStartPage"] + 1;?>
<?if ($arResult["nStartPage"] == $arResult["NavPageNomer"]):?>
<li class="pagination-page-item"><span class="pagination-page-link is-active"><?=$NavRecordGroupPrint?></span></li>
<?else:?>
<li class="pagination-page-item"><a class="pagination-page-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=$arResult["nStartPage"]?>"><span><?=$NavRecordGroupPrint?></span></a></li>
<?endif?>
<?$arResult["nStartPage"]--?>
<?endwhile?>
<?if ($arResult["NavPageNomer"] > 1):?>
<?if($arResult["NavPageCount"] > 1):?>
<li class="pagination-page-item"><a class="pagination-page-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=1"><span><?=$arResult["NavPageCount"]?></span></a></li>
<?endif?>
<li class="pagination-page-next"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]-1)?>"><span><?echo GetMessage("round_nav_forward")?></span></a></li>
<?else:?>
<?if($arResult["NavPageCount"] > 1):?>
<li class="pagination-page-item"><span class="pagination-page-link is-active"><?=$arResult["NavPageCount"]?></span></li>
<?endif?>
<li class="pagination-page-next"><span><?echo GetMessage("round_nav_forward")?></span></li>
<?endif?>
<?else:?>
<?if ($arResult["NavPageNomer"] > 1):?>
<?if($arResult["bSavePage"]):?>
<li class="pagination-page-prev"><a class="pagination-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]-1)?>"><span><?echo GetMessage("round_nav_back")?></span></a></li>
<li class="pagination-page-item"><a class="pagination-page-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=1"><span>1</span></a></li>
<?else:?>
<?if ($arResult["NavPageNomer"] > 2):?>
<li class="pagination-page-prev"><a class="pagination-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]-1)?>"><span><?echo GetMessage("round_nav_back")?></span></a></li>
<?else:?>
<li class="pagination-page-prev"><a class="pagination-link" href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"><span><?echo GetMessage("round_nav_back")?></span></a></li>
<?endif?>
<li class="pagination-page-item"><a class="pagination-page-link" href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"><span>1</span></a></li>
<?endif?>
<?else:?>
<li class="pagination-page-prev"><span><?echo GetMessage("round_nav_back")?></span></li>
<li class="pagination-page-item"><span class="pagination-page-link is-active">1</span></li>
<?endif?>
<?
$arResult["nStartPage"]++;
while($arResult["nStartPage"] <= $arResult["nEndPage"]-1):
?>
<?if ($arResult["nStartPage"] == $arResult["NavPageNomer"]):?>
<li class="pagination-page-item"><span class="pagination-page-link is-active"><?=$arResult["nStartPage"]?></span></li>
<?else:?>
<li class="pagination-page-item"><a class="pagination-page-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=$arResult["nStartPage"]?>"><span><?=$arResult["nStartPage"]?></span></a></li>
<?endif?>
<?$arResult["nStartPage"]++?>
<?endwhile?>
<?if($arResult["NavPageNomer"] < $arResult["NavPageCount"]):?>
<?if($arResult["NavPageCount"] > 1):?>
<li class="pagination-page-item"><a class="pagination-page-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=$arResult["NavPageCount"]?>"><span><?=$arResult["NavPageCount"]?></span></a></li>
<?endif?>
<li class="pagination-page-next"><a class="pagination-link" href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]+1)?>"><span><?echo GetMessage("round_nav_forward")?></span></a></li>
<?else:?>
<?if($arResult["NavPageCount"] > 1):?>
<li class="pagination-page-item"><span class="pagination-page-link is-active"><?=$arResult["NavPageCount"]?></span></li>
<?endif?>
<li class="pagination-page-next"><span><?echo GetMessage("round_nav_forward")?></span></li>
<?endif?>
<?endif?>
<?if ($arResult["bShowAll"]):?>
<?if ($arResult["NavShowAll"]):?>
<li class="pag-all"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>SHOWALL_<?=$arResult["NavNum"]?>=0" rel="nofollow"><span><?echo GetMessage("round_nav_pages")?></span></a></li>
<?else:?>
<li class="pag-all"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>SHOWALL_<?=$arResult["NavNum"]?>=1" rel="nofollow"><span><?echo GetMessage("round_nav_all")?></span></a></li>
<?endif?>
<?endif?>
</ul>
<div style="clear:both"></div>
</div>