如何修改GridView小部件中的Yii2分页以显示第一页和最后一页?

时间:2015-01-24 18:41:46

标签: php gridview pagination yii2

分页的默认视图是" 1,2,3,...,10"

我需要将其转换为"(第一页),x,x,x,(当前页),x,x,x,(最后一页)"

我该怎么做?

4 个答案:

答案 0 :(得分:17)

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

答案 1 :(得分:16)

您需要指定$firstPageLabel$lastPageLabelLinkPager属性(默认情况下它们为false,表示这些链接未显示)。您可以将其传递给GridView

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

对于样式,还有两个附加属性:$firstPageCssClass$lastPageCssClass

请注意,您可以单独将其应用于LinkPager,而不使用GridView

答案 2 :(得分:3)

注意从Yii2版本2.0.11开始,您可以使用config / main.php文件中的容器定义为整个应用程序设置firstPageLabellastPageLabel默认值:

$config = [

    ....

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

http://www.yiiframework.com/doc-2.0/guide-concept-configurations.html#application-configurations

了解详情

答案 3 :(得分:0)

如果您使用的是Bootstrap 4.x.x

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