Постраничная навигация в 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 шаблона и настроить вывод более подходящим образом.

{filer 215 download}

Убрать результат разбиения на страницы можно в настройках компонента материалов:

pagination.php - переопределение вывода постраничной навигации Joomla

Можно также в шаблоне компонента закомментировать код, который выводит количество страниц:

<?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(); ?>

 

Комментарии   

#15 mudak 19.02.2014 18:40
Цитирую Халид:
Где находится файл pagination.php
В джумла 3.1.5 нет вобще такой папкb как html

искать нужно в joomla/template/protostar/html/pagination.php.
а не в папке джумлы
#14 mudak 19.02.2014 18:37
Цитирую Дмитрий:
А подскажите, как вывести div пагинатора в нужном мне месте , а не там где он выводится по умолчанию. Обшарил все файлы, но так и не понял где прописывается вывод div'а пагинатора


protostar/css/template.css
код - .pagination{}

text-align: center
у меня
#13 Николай 08.02.2014 05:07
Цитирую Халид:
Где находится файл pagination.php
В джумла 3.1.5 нет вобще такой папкb как html

Если в шаблоне нет такой папки, ее можно создать. В шаблоне protostar есть папка html и в ней файл pagination.php
#12 Халид 07.02.2014 19:49
Где находится файл pagination.php
В джумла 3.1.5 нет вобще такой папкb как html
#11 Administrator 03.09.2013 08:50
Цитирую Евгений:
Здравствуйте. У меня установлена Joomla 3.1.5, установил себе один шаблончик свежий, интересный и не обычный. При установке на него К2 и переносе всех материалов и категорий у меня не отображается полоска навигации снизу (назад...1, 2, 3...вперед). Хотя вроде все включено. Не могу понять в чем причина. И кстати файла pagination.php в нем кажется нету, такое возможно?

Можно посмотреть html код страницы, на предмет не съехала ли навигация по страницам, либо в настройках компонента смотреть какое количество записей на страницу.
Если нет переопределяюще го файла в шаблоне, значит будет использоваться тот который есть в системе.
Можно еще переопределение шаблона компонента посмотреть в шаблоне..
#10 Евгений 31.08.2013 16:50
Здравствуйте. У меня установлена Joomla 3.1.5, установил себе один шаблончик свежий, интересный и не обычный. При установке на него К2 и переносе всех материалов и категорий у меня не отображается полоска навигации снизу (назад...1, 2, 3...вперед). Хотя вроде все включено. Не могу понять в чем причина. И кстати файла pagination.php в нем кажется нету, такое возможно?
#9 Николай 09.05.2013 08:07
Цитирую Дмитрий:
А подскажите, как вывести div пагинатора в нужном мне месте , а не там где он выводится по умолчанию. Обшарил все файлы, но так и не понял где прописывается вывод div'а пагинатора

В шаблоне компонента, если com_content, то например, com_content/vie ws/category/tmp l/blog.php, там в конце файла код echo $this->paginati on->getPagesLin ks();
#8 Дмитрий 07.05.2013 18:52
А подскажите, как вывести div пагинатора в нужном мне месте , а не там где он выводится по умолчанию. Обшарил все файлы, но так и не понял где прописывается вывод div'а пагинатора
#7 Николай 19.04.2013 05:10
Цитирую resinipsa:
Доброе время суток!
Подскажите как убрать из индекса материала пункт"Все страницы"?? Абсолютно не нужный элемент...

Можно убрать в настройках компонента или в коде шаблона компонента. Подробнее дописал в статье.
#6 resinipsa 17.04.2013 12:15
Доброе время суток!
Подскажите как убрать из индекса материала пункт"Все страницы"?? Абсолютно не нужный элемент...

Чтобы сделать комментарий, нужно авторизоваться на сайте!