Пагинация с разбивкой троеточием

  • 0 Ответов
  • 829 Просмотров

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

*

sashgera

  • Осваиваюсь на форуме
  • ***
  • 105
  • 0
Здравствуйте
В этой теме http://joomlaforum.ru/index.php/topic,65934.msg473487.html#msg473487 было предложено интересное решение, как изменить в лучшую сторону пагинацию в Joomla 1.5

В переменных функции pagination_list_render($list) можно указать:
- максимальное количество позиций ленты
- количество позиций в начале ленты и в конце
если страниц больше чем позиций в ленте - страницы разбиваются троеточием
тоесть будет выглядеть примерно так:
1 2 ... 9 [10] 11 ... 45 46

Но мне нужно чтобы была возможность изменять количество позиций и в середине ленты.
Для этого я добавил переменную (4 строка кода в спойлере)
Код: php
$numCenter = 4; // количество позиций страниц в середине ленты
также добавил на 32 строке:
Код: php
for($j=$i-$numCenter; $j<$i; $j++){ $html .= $list['pages'][$j]['data']; } // количество позиций страниц в середине ленты
и на 41 строке:
Код: php
for($j=$i-$numCenter; $j<$i; $j++){ $html .= $list['pages'][$j+$numCenter+1]['data']; } // количество позиций страниц в середине ленты
Теперь в пагинации можно настроить нужное количество страниц в середине ленты, указав нужное количество в переменной $numCenter.
Но что-то сделал не так и на 2-5 страницах, а также на предпоследней появляются дубли.
Для наглядности сделал пример: http://www.glassbus.ru/test/gb.html

Код функции pagination_list_render($list) (/templates/папка_шаблона/html/pagination.php) под спойлером
В PHP не силен, поэтому прошу помощи.
Спойлер
[свернуть]






« Последнее редактирование: 21.07.2015, 16:48:17 от sashgera »