Пагинация (разбиение на страницы)
Чтобы поключить класс пагинации, в виде (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);