Yii2 рдореЗрдВ Pjax рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рд▓рдШреБ рд╕рдореАрдХреНрд╖рд╛)

рдореИрдВ yii2 рдкрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрдмрдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рд╡рд╣ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рдЕрджреНрднреБрдд рдЙрдкрдХрд░рдг рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдкреЛрд╕реНрдЯ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ Pjax рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреЛ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕рдордп рд╕рдорд░реНрдкрд┐рдд рдХрд░реЗрдВрдЧреЗ, рд╡реЗ рдЕрд╢реБрджреНрдзрд┐ рдФрд░ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдФрд░ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реЛ рдЬрд╛рдПрдЧреАред



рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП:

Pjax рдПрдХ jquery рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ pushState рдФрд░ ajax рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп рдкреГрд╖реНрда рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ, рд▓реЗрдХрд┐рди рд╕рдВрдмрдВрдзрд┐рдд рдкреГрд╖реНрда рд╢реАрд░реНрд╖рдХ рдФрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде


рдПрдХ рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде Pjax рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛



рд╡реИрд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рд▓рд┐рдЦрд╛ рд╣реИ ред



рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pjax рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЧреНрд░рд┐рдб рд╡реНрдпреВ рд╡рд┐рдЬреЗрдЯ рдХреЛ рд▓рдкреЗрдЯрдирд╛ рд╣реЛрдЧрд╛:



<?php \yii\widgets\Pjax::begin(); ?> <?= GridView::widget([ // ... configuration here ]); <?php \yii\widgets\Pjax::end(); ?>
      
      







рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рд╕рднреА рд▓рд┐рдВрдХ рдПрдХ pjax рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ, рддреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛-pjax = 0 рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:



 <?= \yii\helpers\Html::a(Yii::t('app', '...'), ['car/view', 'id' => $car->id], ['data-pjax'=>0]) ?>
      
      







Pjax рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рднреА рд╣реИ:



 public $linkSelector;
      
      







рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ pjax рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рдВрдХ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рд╕рдмрдорд┐рдЯ рдлреЙрд░реНрдо рдкрд░ pjax


рдпрджрд┐ рдЖрдк рдлрд╝реЙрд░реНрдо рд╕рдмрдорд┐рд╢рди рдкрд░ pjax рдХреЛ рд▓рдЯрдХрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ рдбреЗрдЯрд╛-pjax = 1 рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдЬреЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



 jQuery(document).on('submit', "#w2 form[data-pjax]", function (event) {jQuery.pjax.submit(event, '#w2', {"push":true,"replace":false,"timeout":1000,"scrollTo":false});});
      
      







рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдЗрд╕реЗ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:



 public $formSelector;
      
      







рдЬреНрдпрд╛рджрд╛ рдХрд╣рд╛рдВ рдкрдврд╝рд╛ рдЬрд╛рдП


Pjax рд╡рд┐рдЬреЗрдЯ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ github.com/yiisoft/yii2-framework/blob/master/widgets/Pjax.php

Pjax plugin рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ github.com/yiisoft/jquery-pjax



All Articles