Переопределение пагинации в шаблоне
05/10/2010
Документация Joomla 1.5
Пагинация - это разбиение на страницы. Изначально в Joomla пагинация выглядит как показано на рисунке.
Можно переопределить, заменить вывод, пагинации в вашем шаблоне. Для этого возьмем файл из стандартного шаблона Joomla {joomla root}\tamplates\rhuk_milkyway\html\pagination.php и скопируем его в ту же директорию своего шаблона.
В этом файле представленны 4 функции:
- pagination_list_footer - в ней можно переопределить выпадающий список, использующийся для отображения количества объектов на странице.
- pagination_list_render - эта функция для переопределяет вывод количества страниц, а так же ссылки "Первая", "Предыдущая", "Последняя" и "Следующая"
- pagination_item_active - определяет вид ссылок, кроме текущей страницы (на картинке это 2,3,4...)
- pagination_item_inactive - определяет вид ссылок текущей страницы (на картинке это << Start, < Prev и 1)
Таким образом, если не устраивают стандартные элементы используемые в Joomla для пагинации, можно их переопределить в своем шаблоне.
Пример файла pagination.php
<?php defined('_JEXEC') or die('Restricted access'); function pagination_list_footer($list) { // Initialize variables $lang =& JFactory::getLanguage(); $html = "<ul class=\"list-footer\">\n"; $html .= "\n<div class=\"limit\">".JText::_('Display Num').$list['limitfield']."</div>"; $html .= $list['pageslinks']; $html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>"; $html .= "\n<input type=\"hidden\" name=\"limitstart\" value=\"".$list['limitstart']."\" />"; $html .= "\n</div>"; return $html; } function pagination_list_render($list) { // Initialize variables $lang =& JFactory::getLanguage(); $html = "<ul class=\"pagination\">"; // Если выбрана первая страния то не показываем ссылки "Первая" и "Предыдущая" if ($list['start']['active']) { $html .= $list['start']['data']; $html .= $list['previous']['data']; } foreach( $list['pages'] as $page ) { if($page['data']['active']) { // $html .= '<strong>'; } $html .= $page['data']; if($page['data']['active']) { // $html .= '</strong>'; } } // Если выбрана последняя страния то не показываем ссылки "Следующая" и "Последняя" if ($list['end']['active']) { $html .= $list['next']['data']; $html .= $list['end']['data']; } $html .= "</ul>"; return $html; } function pagination_item_active(&$item) { return "<li><a href=\"".$item->link."\" title=\"".$item->text."\" class=\"pagination\">".$item->text."</a></li>"; } function pagination_item_inactive(&$item) { return "<li><span>".$item->text."</span></li>"; } ?>
4
Комментарии
22.07.2013 15:17
Joomla 2.5
Спасибо!
06.12.2014 00:22
Вместо $html .= $list['end']['data'];
Заменить на: $html .= $list['конец']['data'];
RSS лента комментариев этой записи