PJAX — виджет в Yii2, позволяющий обновлять только заданный участок страницы без перезагрузки всего содержимого. Особенно полезен для пагинации и быстрого переключения между страницами.
Базовое использование
Подключите класс и оберните нужный блок:
use yii\widgets\Pjax;
// код, который будет обновляться без перезагрузки страницы
Пример: вызов экшена контроллера
В представлении (View):
= Html::a("Новая случайная строка", ['site/multiple'], ['class' => 'btn btn-lg btn-primary']) ?>= $randomString ?>
В контроллере:
public function actionMultiple()
{
$security = new Security();
$randomString = $security->generateRandomString();
$randomKey = $security->generateRandomKey();
return $this->render('multiple', [
'randomString' => $randomString,
'randomKey' => $randomKey,
]);
}
Принудительное обновление PJAX по клику
Для обновления PJAX-контейнера программно используйте $.pjax.reload:
registerJs('$("document").ready(function(){
$(".myButton").click(function() {
$.pjax.reload({container:"#payments"});
});
});');
?>
'new_payment']) ?>