Как изменить разбиение на страницы Yii2 в виджете GridView, чтобы показать первую и последнюю страницы?

представление по умолчанию разбиения на страницы " 1, 2, 3,..., 10"

Мне нужно преобразовать его в "(первая страница), x, x, x, (текущая страница), x, x, x, (последняя страница)"

Как я могу это сделать?

3 ответов


<?= GridView::widget([
    'pager' => [
        'firstPageLabel' => 'First',
        'lastPageLabel'  => 'Last'
    ],
    ...
]) ?>

необходимо указать $firstPageLabel и $lastPageLabel свойства LinkPager (они false по умолчанию эти ссылки не отображаются) . Вы можете передать его GridView вот так:

<?= GridView::widget([
    ...
    'pager' => [
        'firstPageLabel' => 'First',
        'lastPageLabel' => 'Last',
    ],
    ...
]) ?>

для укладки есть два дополнительных свойства: $firstPageCssClass и $lastPageCssClass.

обратите внимание, что вы можете применить это к LinkPager отдельно, без использования GridView.


Примечание начиная с версии 2.0.11 Yii2, вы можете установить firstPageLabel и lastPageLabel значения по умолчанию для всего приложения с использованием определений контейнеров в config / main.файл php:

$config = [

    ....

    'container' => [
        'definitions' => [
            'yii\widgets\LinkPager' => [
                'firstPageLabel' => 'First',
                'lastPageLabel'  => 'Last'
            ]
        ]
    ]
];

подробнее http://www.yiiframework.com/doc-2.0/guide-concept-configurations.html#application-configurations