Как сделать пагинацию с многоточием в yii2?

Пользователь

от cooper.berge , в категории: PHP , год назад

Как сделать пагинацию с многоточием в yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jaylen.trantow , год назад

@cooper.berge 

Для создания пагинации с многоточием в Yii2 можно использовать класс LinkPager, который предоставляется фреймворком. Для этого необходимо в конфигурационном файле определить виджет пагинации, а затем вызвать его в представлении.


Пример конфигурационного файла:

1
2
3
4
5
6
'components' => [
    'pagination' => [
        'class' => 'yiidataPagination',
        'pageSize' => 10,
    ],
],


Пример вызова виджета в представлении:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?= yiiwidgetsLinkPager::widget([
    'pagination' => $dataProvider->pagination,
    'maxButtonCount' => 5,
    'prevPageLabel' => '&laquo;',
    'nextPageLabel' => '&raquo;',
    'options' => [
        'class' => 'pagination',
    ],
    'linkOptions' => [
        'aria-label' => 'Pagination',
    ],
    'activePageCssClass' => 'active',
    'disabledPageCssClass' => 'disabled',
    'prevPageCssClass' => 'prev',
    'nextPageCssClass' => 'next',
    'hideOnSinglePage' => true,
    'lastPageLabel' => '...',
    'firstPageLabel' => '...',
]); ?>


В данном примере используется виджет LinkPager, который принимает массив параметров, в том числе:

  • pagination - объект класса yiidataPagination, который содержит информацию о текущей странице и количестве элементов на странице;
  • maxButtonCount - максимальное количество кнопок-ссылок на страницы, которые могут быть отображены;
  • prevPageLabel и nextPageLabel - текст, который будет использоваться для кнопок-ссылок "Назад" и "Вперед";
  • options - массив параметров для контейнера пагинации;
  • linkOptions - массив параметров для ссылок на страницы;
  • activePageCssClass и disabledPageCssClass - CSS-классы для активной и неактивной ссылок на страницу соответственно;
  • prevPageCssClass и nextPageCssClass - CSS-классы для кнопок-ссылок "Назад" и "Вперед";
  • hideOnSinglePage - флаг, указывающий, нужно ли скрывать пагинацию, если всего одна страница;
  • lastPageLabel и firstPageLabel - текст, который будет использоваться для многоточия, обозначающего пропущенные страницы в начале и конце списка соответственно.