Пагинация (разбиение на страницы)

Чтобы поключить класс пагинации, в виде (View) надо прописать:

        jimport('joomla.html.pagination');
        $pagination = new JPagination($total, $limitstart, $limit);
    

А в шаблоне нам осталось только вывести ссылки перехода между страницами:

        echo $pagination->getPagesLinks();
        echo $pagination->getPagesCounter();
    

В первой строке мы выводим ссылки для перехода между страницами (Начало Предыдущий 1 2 Далее Конец), а во второй выводим на какой странице мы находимся (Страница 1 из 2)

Подробнее можно прочитать здесь

Правка шаблонов вывода кнопок доступна в файле /templates/имя_шаблона/html/pagination.php (можно найти в дефолтных шаблонах).

В этом же файле доступен объект $data, в котором можно подправить все сформированные и готовые к выводу ссылки.

Символы указатели:

⟨    ⟨
⟩    ⟩
⟪    ⟪
⟫    ⟫

Подробнее про класс Pagination можно найти в исходниках:

/libraries/src/Pagination/Pagination.php

В Joomla! 5+ для безопасности ограничен набор гет-параметров, попадающих в ссылки страниц:

$defaultUrlParams = [
    'format'        => 'CMD',
    'option'        => 'CMD',
    'controller'    => 'CMD',
    'view'          => 'CMD',
    'layout'        => 'STRING',
    'task'          => 'CMD',
    'template'      => 'CMD',
    'templateStyle' => 'INT',
    'tmpl'          => 'CMD',
    'tpl'           => 'CMD',
    'id'            => 'STRING',
    'Itemid'        => 'INT',
];

Если есть необходимость добавить параметр не из списка (напримел, search), то делается это так:

$pagination->setAdditionalUrlParam('search', $searchValue);