LinkPager и вывод пропуска диапазона страниц

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

LinkPager и вывод пропуска диапазона страниц

Сообщение azz »

Добрый день. Нигде не нашел почему-то ответа на свой вопрос.
В LinkPager пишу 'maxButtonCount' => 5, получаю вот такое:

<< 1 2 3 4 5 >>

но у меня, допустим, 100 страниц. Хочу получить вот такой вывод:
<< 1 2 3 4 5 ... 100 >>
<< 1 ... 55 56 57 ... 100 >>
<< 1 ... 96 97 98 99 100 >>

Как можно получить такой результат?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: LinkPager и вывод пропуска диапазона страниц

Сообщение ElisDN »

Отнаследоваться от LinkPager и переопределить метод renderPageButtons(). Потом подменить класс в конфигурации:

Код: Выделить всё

'components' => [
    ...
],
'container' => [
    'definitions' [
        'yii\widgets\LinkPager' => 'app\widgets\LinkPager',
    ],
],
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: LinkPager и вывод пропуска диапазона страниц

Сообщение azz »

а может есть какой то другой виджет? Задача вроде как не уникальная. Не хочется велосипед писать...
Аватара пользователя
TranceSmile
Сообщения: 562
Зарегистрирован: 2011.06.27, 19:04
Откуда: Украина
Контактная информация:

Re: LinkPager и вывод пропуска диапазона страниц

Сообщение TranceSmile »

Почему велосипед?! Делайте так как Вам сказали.
Изображение
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: LinkPager и вывод пропуска диапазона страниц

Сообщение azz »

TranceSmile писал(а): 2017.10.05, 18:48 Почему велосипед?! Делайте так как Вам сказали.
потому что "Отнаследоваться от LinkPager и переопределить метод renderPageButtons()" означает переписать эту функцию
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: LinkPager и вывод пропуска диапазона страниц

Сообщение Dominus »

azz писал(а): 2017.10.06, 10:22
TranceSmile писал(а): 2017.10.05, 18:48 Почему велосипед?! Делайте так как Вам сказали.
потому что "Отнаследоваться от LinkPager и переопределить метод renderPageButtons()" означает переписать эту функцию
Виджет имеет базовый функционал.
Если его функциональности не достаточно, то что бы не писать свой с нуля, можно отнаследоваться, изменить, и подключить свою версию. Где велосипед?)
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: LinkPager и вывод пропуска диапазона страниц

Сообщение azz »

Никто видимо не понял вопроса. :)
Как по мне, вот такой вид пагинации:
<< 1 2 3 4 5 ... 100 >>
<< 1 ... 55 56 57 ... 100 >>
<< 1 ... 96 97 98 99 100 >>
является довольно распространённым. Вот я и спрашивал, нет ли уже готового виджета для yii с таким функционалом. Немного погуглив, ничего кроме стандартного LinkPager не нашел. Или их нет, или плохо искал, 50/50, как в том анекдоте. В общем плюнул и решил что написать свой велосипед быстрее чем найти чужой :)
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: LinkPager и вывод пропуска диапазона страниц

Сообщение futbolim »

azz писал(а): 2017.10.10, 09:34 Никто видимо не понял вопроса. :)
Как по мне, вот такой вид пагинации:
<< 1 2 3 4 5 ... 100 >>
<< 1 ... 55 56 57 ... 100 >>
<< 1 ... 96 97 98 99 100 >>
является довольно распространённым. Вот я и спрашивал, нет ли уже готового виджета для yii с таким функционалом. Немного погуглив, ничего кроме стандартного LinkPager не нашел. Или их нет, или плохо искал, 50/50, как в том анекдоте. В общем плюнул и решил что написать свой велосипед быстрее чем найти чужой :)
Да все поняли, кроме Вас )
Переопределение метода в классе занимает 10 минут для тех, кто это когда-нибудь делал и час, для тех, кто это делает первый раз. Какой ещё виджет нужен?!
Написать нужно было кому-то виджет, который подходит только Вам?
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: LinkPager и вывод пропуска диапазона страниц

Сообщение azz »

futbolim писал(а): 2017.10.10, 12:45 Да все поняли, кроме Вас )
Переопределение метода в классе занимает 10 минут для тех, кто это когда-нибудь делал и час, для тех, кто это делает первый раз. Какой ещё виджет нужен?!
Написать нужно было кому-то виджет, который подходит только Вам?
ну вроде того, я думал может есть уже готовый который может и так, и сяк, и эдак, потому что штатный умеет только эдак :D
Ответить