Yii2 отключить pjax в разбивке на страницы GridView

Как я могу отключить pjax для части разбивки на страницы сетки? Все остальное должно работать с pjax, кроме нумерации страниц. Это возможно?

Причина этого в том, что я хочу отправлять много данных POST при смене страниц. Сеансы не вариант.

Моя сетка:

    echo GridView::widget
    ([
        'id' => 'list_of_products',
        'dataProvider' => $products,
        'filterModel' => $productProvider,
        'filterSelector' => 'select[name="per-page"]',
        'summary' => '<div class="summary">Showing <b>' . $products->getTotalCount() . '</b> products</div>',
        'columns' =>
            [
                ....
            ],
        'pjax' => true,
        'responsive' => true,
        'responsiveWrap' => false,
        'pjaxSettings' => ['options' => [
            'id' => 'kv-pjax-container',
            'enablePushState' => false,
            'options' => ['class' => 'row col-lg-6']
        ]],
        'panel' => [
            'heading' => '<h3 class="panel-title"> Search result</h3>',
            'headingOptions' => ['class' => 'panel-heading product-container'],
            'beforeOptions' => ['class' => 'kv-panel-before'],
        ],
        'export' => [
            'label' => 'Page',
            'fontAwesome' => true,
        ],
        'toolbar' => [
            ['content' =>
                ''
            ],
        ],
        'toolbar' => [
            '<div class="form-group pull-right">
                <button onclick="addToList()" type="button" id="clear-filters" class="btn btn-primary">
                    <i class="fa fa-mail-forward"></i> Add to feed
                </button>
            </div>'
        ]
    ]);
}
?>

person Dominykas55    schedule 19.05.2017    source источник


Ответы (1)


Вы можете отключить pjax для конкретной ссылки внутри контейнера, добавив к этой ссылке атрибут data-pjax="0".

В вашей сетке просто установите параметры «пейджер»:

echo GridView::widget
([
    'id' => 'list_of_products',
    ...
    'pager' => [
        'linkOptions'=> ['data-pjax' => '0']
    ],
]);

Документация: LinkPager

person Pistej    schedule 22.05.2017
comment
когда я использую bootstrap4, он ломается. 'pager' =>[ 'linkOptions'=> ['data-pjax' => '0'], 'class' => \yii\bootstrap4\LinkPager::class, ], есть идеи, как это исправить? - person Sala; 27.06.2021