UNN4MED
@UNN4MED
Битрикс разработчик

Можно ли уменьшить количество цифр в пагинации?

Версия Битрикса 14.9.3, PHP 5.6
По дизайну нужно отобразить пагинацию с таким количеством цифр. Возможно ли их уменьшить перед тремя точками через код или arParams?
Шаблон system.pagenavigation/modern:
6581cb0fb0970088943760.jpeg
6581cb1f0e262158439535.jpeg
Дизайн:
6581cb66c4b01043520344.jpeg
Код

<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();

if (!$arResult["NavShowAlways"]) {
  if ($arResult["NavRecordCount"] == 0 || ($arResult["NavPageCount"] == 1 && $arResult["NavShowAll"] == false))
    return;
}
?>
<div class="modern-page-navigation">
  <?

  $strNavQueryString = ($arResult["NavQueryString"] != "" ? $arResult["NavQueryString"] . "&amp;" : "");
  $strNavQueryStringFull = ($arResult["NavQueryString"] != "" ? "?" . $arResult["NavQueryString"] : "");
  ?>
  <span class="modern-page-title"><?= GetMessage("pages") ?></span>
  <?
  if ($arResult["bDescPageNumbering"] === true):
$bFirst = true;
    if ($arResult["NavPageNomer"] < $arResult["NavPageCount"]):
      if ($arResult["bSavePage"]):
        ?>

        <a class="modern-page-previous"
           href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] + 1) ?>"><?= GetMessage("nav_prev") ?></a>
      <?
      else:
        if ($arResult["NavPageCount"] == ($arResult["NavPageNomer"] + 1)):
          ?>
          <a class="modern-page-previous"
             href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>"><?= GetMessage("nav_prev") ?></a>
        <?
        else:
          ?>
          <a class="modern-page-previous"
             href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] + 1) ?>"><?= GetMessage("nav_prev") ?></a>
        <?
        endif;
      endif;

      if ($arResult["nStartPage"] < $arResult["NavPageCount"]):
        $bFirst = false;
        if ($arResult["bSavePage"]):
          ?>
          <a class="modern-page-first"
             href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= $arResult["NavPageCount"] ?>">1</a>
        <?
        else:
          ?>
          <a class="modern-page-first" href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>">1</a>
        <?
        endif;
        if ($arResult["nStartPage"] < ($arResult["NavPageCount"] - 1)):
          /*?>
                <span class="modern-page-dots">...</span>
          <?*/
          ?>
          <a class="modern-page-dots"
             href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= intVal($arResult["nStartPage"] + ($arResult["NavPageCount"] - $arResult["nStartPage"]) / 2) ?>">...</a>
        <?
        endif;
      endif;
    endif;
    do {
      $NavRecordGroupPrint = $arResult["NavPageCount"] - $arResult["nStartPage"] + 1;

      if ($arResult["nStartPage"] == $arResult["NavPageNomer"]):
        ?>
        <span class="<?= ($bFirst ? "modern-page-first " : "") ?>modern-page-current"><?= $NavRecordGroupPrint ?></span>
      <?
      elseif ($arResult["nStartPage"] == $arResult["NavPageCount"] && $arResult["bSavePage"] == false):
        ?>
        <a href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>"
           class="<?= ($bFirst ? "modern-page-first" : "") ?>"><?= $NavRecordGroupPrint ?></a>
      <?
      else:
        ?>
        <a
          href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= $arResult["nStartPage"] ?>"<?
        ?> class="<?= ($bFirst ? "modern-page-first" : "") ?>"><?= $NavRecordGroupPrint ?></a>
      <?
      endif;

      $arResult["nStartPage"]--;
      $bFirst = false;
    } while ($arResult["nStartPage"] >= $arResult["nEndPage"]);

    if ($arResult["NavPageNomer"] > 1):
      if ($arResult["nEndPage"] > 1):
        if ($arResult["nEndPage"] > 2):
          /*?>
              <span class="modern-page-dots">...</span>
          <?*/
          ?>
          <a class="modern-page-dots"
             href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= round($arResult["nEndPage"] / 2) ?>">...</a>
        <?
        endif;
        ?>
        <a
          href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=1"><?= $arResult["NavPageCount"] ?></a>
      <?
      endif;

      ?>
      <a class="modern-page-next"
         href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] - 1) ?>"><?= GetMessage("nav_next") ?></a>
    <?
    endif;

  else:
$bFirst = true;

    if ($arResult["NavPageNomer"] > 1):
      if ($arResult["bSavePage"]):
        ?>
        <a class="modern-page-previous"
           href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] - 1) ?>"><?= GetMessage("nav_prev") ?></a>
      <?
      else:
        if ($arResult["NavPageNomer"] > 2):
          ?>
          <a class="modern-page-previous"
             href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] - 1) ?>"><?= GetMessage("nav_prev") ?></a>
        <?
        else:
          ?>
          <a class="modern-page-previous"
             href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>"><?= GetMessage("nav_prev") ?></a>
        <?
        endif;

      endif;

      if ($arResult["nStartPage"] > 1):
        $bFirst = false;
        if ($arResult["bSavePage"]):
          ?>
          <a class="modern-page-first"
             href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=1">1</a>
        <?
        else:
          ?>
          <a class="modern-page-first" href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>">1</a>
        <?
        endif;
        if ($arResult["nStartPage"] > 2):
          /*?>
                <span class="modern-page-dots">...</span>
          <?*/
          ?>
          <a class="modern-page-dots"
             href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= round($arResult["nStartPage"] / 2) ?>">...</a>
        <?
        endif;
      endif;
    endif;

    do {
      if ($arResult["nStartPage"] == $arResult["NavPageNomer"]):
        ?>
        <span
          class="<?= ($bFirst ? "modern-page-first " : "") ?>modern-page-current"><?= $arResult["nStartPage"] ?></span>
      <?
      elseif ($arResult["nStartPage"] == 1 && $arResult["bSavePage"] == false):
        ?>
        <a href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>"
           class="<?= ($bFirst ? "modern-page-first" : "") ?>"><?= $arResult["nStartPage"] ?></a>
      <?
      else:
        ?>
        <a
          href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= $arResult["nStartPage"] ?>"<?
        ?> class="<?= ($bFirst ? "modern-page-first" : "") ?>"><?= $arResult["nStartPage"] ?></a>
      <?
      endif;
      $arResult["nStartPage"]++;
      $bFirst = false;
    } while ($arResult["nStartPage"] <= $arResult["nEndPage"]);

    if ($arResult["NavPageNomer"] < $arResult["NavPageCount"]):
      if ($arResult["nEndPage"] < $arResult["NavPageCount"]):
        if ($arResult["nEndPage"] < ($arResult["NavPageCount"] - 1)):
          /*?>
              <span class="modern-page-dots">...</span>
          <?*/
          ?>
          <a class="modern-page-dots"
             href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= round($arResult["nEndPage"] + ($arResult["NavPageCount"] - $arResult["nEndPage"]) / 2) ?>">...</a>
        <?
        endif;
        ?>
        <a
          href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= $arResult["NavPageCount"] ?>"><?= $arResult["NavPageCount"] ?></a>
      <?
      endif;
      ?>
      <a class="modern-page-next"
         href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] + 1) ?>"><?= GetMessage("nav_next") ?></a>
    <?
    endif;
  endif;

  if ($arResult["bShowAll"]):
    if ($arResult["NavShowAll"]):
      ?>
      <a class="modern-page-pagen"
         href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>SHOWALL_<?= $arResult["NavNum"] ?>=0"><?= GetMessage("nav_paged") ?></a>
    <?
    else:
      ?>
      <a class="modern-page-all"
         href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>SHOWALL_<?= $arResult["NavNum"] ?>=1"><?= GetMessage("nav_all") ?></a>
    <?
    endif;
  endif
  ?>
</div>

  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ответы на вопрос 1
@koder_1
Битрикс программист
Делайте свой шаблон пагинации скопировав шаблон в папку с вашим названием.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы