pagination.php - переопределение вывода постраничной навигации Joomla
Постраничная навигация в Joomla определяется в файле libraries\joomla\html\pagination.php
Но изменять этот файл не стоит, потому как изменения скорее всего затрутся при обновлении joomla.
Для переопределения внешнего вида постраничной навигации нужно положить файл pagination.php в папку html шаблона.
$chromePath = JPATH_THEMES . '/' . $app->getTemplate() . '/html/pagination.php'; if (function_exists('pagination_list_render')) { $listOverride = true; }
Так в файле libraries\joomla\html\pagination.php проверяется наличие файла html\pagination.php и наличие в нем нужных функций.
Если файл переопределения pagination.php есть в шаблоне, то он подгружается
include_once $chromePath;
Если есть переопределяющая функция, она выполняется, если ее нет - выполняется функция из файла libraries\joomla\html\pagination.php
$list['all']['data'] = ($itemOverride) ? pagination_item_active($data->all) : $this->_item_active($data->all);
Вот список функций которые переопределяются
- pagination_item_active
- pagination_item_inactive
- pagination_list_render
- pagination_list_footer
Но тут может возникнуть вопрос, а как можно заменить слова веред, назад и т.д. Или лучше их совсем убрать, а вместо них сделать стрелочки.
Убрать эти надписи можно в менеджере языков, переопределение языковых констант.
Ищем константы
- JLIB_HTML_END
- JLIB_HTML_START
- JLIB_HTML_VIEW_ALL
- JNEXT
- JPREV
и убираем их значения.
Теперь с помощью CSS можно вывести для соответствующих пунктов стрелочки или какое другое оформление.
Файл pagination.php с копиями функций можно положить в папку html шаблона и настроить вывод более подходящим образом.
pagination.php (724)
Убрать результат разбиения на страницы можно в настройках компонента материалов:
Можно также в шаблоне компонента закомментировать код, который выводит количество страниц:
<?php if ($this->params->def('show_pagination_results', 1)) : ?> <p class="counter"> <?php echo $this->pagination->getPagesCounter(); ?> </p> <?php endif; ?>
Этот код можно найти в файлах blog.php и default_articles.php в папке
components\com_content\views\category\tmpl
Код для вывода постраничной навигации:
<?php echo $this->pagination->getPagesLinks(); ?>