Работа с pjax в yii2

Небольшая памятка по pjax в yii2

 

Подключение

use yii\widgets\Pjax;

 

Конструкция

<?php Pjax::begin([
'id' => 'containerId', //контеинер
'clientOptions' => ['method' => 'POST'], //тип запроса
'enablePushState'=>FALSE, //обновлять url
'timeout' => 3000, //время выполнения запроса
'linkSelector' => '#div a', //обрабатывать через pjax только отдельные ссылки
]); ?>
..... 
<?php Pjax::end(); ?>

 

Изменение урла в контроллере после pjax запроса

Yii::$app->response->getHeaders()->set('X-PJAX-Url',Url::to(['new/url']));

 

Запретить ссылкам работать через pjax

<?= Html::a(Yii::t('app', 'ссылка'), ['path/view'], ['data-pjax'=>0]) ?>

 

Продолжение следует...