0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 430 Просмотров
*

Pavluk

  • Осваиваюсь на форуме
  • 27
  • 0
  • Skype: Pavluk1992
Добрый день, нужно изменить лимит вывода  pagination, он находится тут  /libraries/cms/pagination/pagination.php
Подскажите как переопределить, перепробовал масса вариантов
Сделать нужно примерно следующее 
P.S. Joomla 3.4.4
*

AlekVolsk

  • Профи
  • 6312
  • 336
Re: Переопределение /libraries/cms/pagination
« Ответ #1 : 17.09.2015, 13:28:22 »
это делается в /templates/ваш шаблон/html/pagination.php, переопределите там переменную $displayedPages, значение должно быть кратным 2, иначе рискуете получить ошибку деления (как-то попробовал поставить 5, подумал, что сайт вообще потерял).
*

Pavluk

  • Осваиваюсь на форуме
  • 27
  • 0
  • Skype: Pavluk1992
Re: Переопределение /libraries/cms/pagination
« Ответ #2 : 17.09.2015, 13:31:19 »
это делается в /templates/ваш шаблон/html/pagination.php, переопределите там переменную $displayedPages, значение должно быть кратным 2, иначе рискуете получить ошибку деления (как-то попробовал поставить 5, подумал, что сайт вообще потерял).
Подскажите как правильно переопределить? Я уже создал pagination.php и переписал под себя но переменной этой там не было (переписывал под bootstrap на основе стандартного от Joomla 3.3)
Вот код мой
Код
<?php
defined('_JEXEC') or die;

function pagination_list_footer($list)
{
$html = "<div class=\"pagination\">\n";
$html .= $list['pageslinks'];
$html .= "\n<input type=\"hidden\" name=\"" . $list['prefix'] . "limitstart\" value=\"" . $list['limitstart'] . "\" />";
$html .= "\n</div>";

return $html;
}

function pagination_list_render($list)
{
// Calculate to display range of pages
$currentPage = 1;
$range = 1;
$step = 6;
foreach ($list['pages'] as $k => $page)
{
if (!$page['active'])
{
$currentPage = $k;
}
}
if ($currentPage >= $step)
{
if ($currentPage % $step == 0)
{
$range = ceil($currentPage / $step) + 1;
}
else
{
$range = ceil($currentPage / $step);
}
}

$html = '<ul class="pagination">';
$html .= $list['start']['data'];
$html .= $list['previous']['data'];

foreach ($list['pages'] as $k => $page)
{
if (in_array($k, range($range * $step - ($step + 1), $range * $step)))
{
if (($k % $step == 0 || $k == $range * $step - ($step + 1)) && $k != $currentPage && $k != $range * $step - $step)
{
$page['data'] = preg_replace('#(<a.*?>).*?(</a>)#', '$1...$2', $page['data']);
}
}

$html .= $page['data'];
}

$html .= $list['next']['data'];
$html .= $list['end']['data'];

$html .= '</ul>';
return $html;
}

function pagination_item_active(&$item)
{
$class = '';

// Check for "Start" item
if ($item->text == JText::_('JLIB_HTML_START'))
{
$display = '<span class="icon-first">' . $item->link . '</span>';
}
// Check for "Prev" item
if ($item->text == JText::_('JPREV'))
{
$display = '<span class="icon-previous">' . $item->link . '</span>';
}
// Check for "Next" item
if ($item->text == JText::_('JNEXT'))
{
$display = '<span class="icon-next">' . $item->link . '</span>';
}

// Check for "End" item
if ($item->text == JText::_('JLIB_HTML_END'))
{
$display = '<span class="icon-last">' . $item->link . '</span>';
}

// If the display object isn't set already, just render the item with its text
if (!isset($display))
{
$display = $item->text;
$class   = ' class="hidden-xs"';
}

return '<li' . $class . '><a title="' . $item->text . '" href="' . $item->link . '" class="pagenav">' . $item->text . '</a></li>';
}

function pagination_item_inactive(&$item)
{
// Check for "Start" item
if ($item->text == JText::_('JLIB_HTML_START'))
{
return '<li class="disabled"><a><span class="icon-first">' . JText::_('JLIB_HTML_START').'</span></a></li>';
}

// Check for "Prev" item
if ($item->text == JText::_('JPREV'))
{
return '<li class="disabled"><a><span class="icon-previous">' . JText::_('JPREV').'</span></a></li>';
}

// Check for "Next" item
if ($item->text == JText::_('JNEXT'))
{
return '<li class="disabled"><a>' . JText::_('JNEXT').'</a></li>';
}

// Check for "End" item
if ($item->text == JText::_('JLIB_HTML_END'))
{
return '<li class="disabled"><a><span class="icon-last">' . JText::_('JLIB_HTML_END').'</span></a></li>';
}

// Check if the item is the active page
if (isset($item->active) && ($item->active))
{
return '<li class="active hidden-xs"><a>' . $item->text . '</a></li>';
}

// Doesn't match any other condition, render a normal item
return '<li class="disabled hidden-xs"><a>' . $item->text . '</a></li>';
}
*

Pavluk

  • Осваиваюсь на форуме
  • 27
  • 0
  • Skype: Pavluk1992
Re: Переопределение /libraries/cms/pagination
« Ответ #3 : 17.09.2015, 13:32:54 »
это делается в /templates/ваш шаблон/html/pagination.php, переопределите там переменную $displayedPages, значение должно быть кратным 2, иначе рискуете получить ошибку деления (как-то попробовал поставить 5, подумал, что сайт вообще потерял).
Еще подскажите как сделать что бы "..." появлялось не на заданном номере как сейчас
Код
$step = 6;
а появлялось в последнем отображаемом пункте как на скриншете выше
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создать переопределение в шаблоне админ панели

Автор alex9158

Ответов: 4
Просмотров: 159
Последний ответ 19.01.2017, 21:20:00
от alex9158
Ошибка! Pagination (пагинация) Joomla 3.4.4 дробное значение номера страницы при изменении стандартн

Автор MansEL

Ответов: 10
Просмотров: 918
Последний ответ 17.05.2016, 14:08:09
от MansEL
Переопределение вывода контента - скорость загрузки

Автор FitMe

Ответов: 9
Просмотров: 407
Последний ответ 08.04.2016, 05:12:57
от FitMe
Переопределение материалов в блоге категории в зависимости от даты

Автор kik84

Ответов: 0
Просмотров: 310
Последний ответ 12.02.2016, 15:30:26
от kik84
pagination

Автор prosimons

Ответов: 5
Просмотров: 808
Последний ответ 09.10.2015, 14:40:41
от Magnum