web-dev-qa-db-ja.com

最初と最後のページを表示するようにGridViewウィジェットのYii2ページ付けをどのように変更しますか?

ページネーションのデフォルトビューは「1、2、3、...、10」です。

「(最初のページ)、x、x、x、(現在のページ)、x、x、x、(最後のページ)」に変換する必要があります

どうやってやるの?

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

$ firstPageLabel および $ lastPageLabel のプロパティを指定する必要があります LinkPager (これらはデフォルトでfalseであり、これらのリンクは表示されません。 )。次のようにGridViewに渡すことができます。

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

スタイリングには、2つの追加プロパティがあります: $ firstPageCssClass および $ lastPageCssClass

LinkPagerを使用せずに、これをGridViewに個別に適用できることに注意してください。

20
arogachev

Yii2バージョン2.0.11以降、config/main.phpファイルのコンテナー定義を使用して、アプリケーション全体にfirstPageLabelおよびlastPageLabelのデフォルトを設定できることに注意してください。

$config = [

    ....

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

詳細については、 http://www.yiiframework.com/doc-2.0/guide-concept-configurations.html#application-configurations をご覧ください。

4
jonathanm

Bootstrap 4.x.xを使用している場合

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