8-927-672-87-16

Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.

По умолчанию Joomla в постраничной навигации показывает 10 страниц. Чтобы изменить это число есть такой способ.

Стандартным переопределением шаблонов вывода этого не добиться. Нужная нам переменная $displayedPages хранится в файле ../libraries/src/Pagination/Pagination.php (верно для Joomla 3 и 4 версий).
Где значение жестко прописано:

$displayedPages = 10;

Вот так выглядит пагинация по умолчанию:

А вот так получилось в итоге:

Чтобы изменить это значение требуется пересобрать код вывода, но уже с нашими данными в переменной $displayedPages.

Для этого в месте вызова getPagesLinks() до ее вызова нужно вставить переопределенный код. Должно получится примерно так:

  <?php if (($this->params->def('show_pagination', 1) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->pagesTotal > 1)) : ?>
    <div class="com-content-category-blog__navigation w-100 mt-5">
      <div class="com-content-category-blog__pagination">
        <?php
        $displayedPages = 5;
        $this->pagination->pagesStart = $this->pagination->pagesCurrent - ($displayedPages / 2);

        if ($this->pagination->pagesStart < 1)
        {
          $this->pagination->pagesStart = 1;
        }

        if ($this->pagination->pagesStart + $displayedPages > $this->pagination->pagesTotal)
        {
          $this->pagination->pagesStop = $this->pagination->pagesTotal;

          if ($this->pagination->pagesTotal < $displayedPages)
          {
            $this->pagination->pagesStart = 1;
          }
          else
          {
            $this->pagination->pagesStart = $this->pagination->pagesTotal - $displayedPages + 1;
          }
        }
        else
        {
          $this->pagination->pagesStop = $this->pagination->pagesStart + $displayedPages - 1;
        }
        echo $this->pagination->getPagesLinks(); ?>
      </div>
    </div>
      <?php if ($this->params->def('show_pagination_results', 1)) : ?>
        <p class="com-content-category-blog__counter counter text-center">
          <?php echo $this->pagination->getPagesCounter(); ?>
        </p>
      <?php endif; ?>
  <?php endif; ?>

 Этот код я вставил в шаблон блога категории - ../templates/<ваш шаблон>/html/com_content/category/blog.php, где первоначально был просто вызов метода echo $this->pagination->getPagesLinks();