[yii2] Comment changer le filtre d’une GridView de GET à POST

Dans yii1, CGridView, par défaut, si nous effectuons des filtres à partir de données en utilisant la méthode POST pour demander des données.

Sur yii2, le filtre GridView par défaut utilise la méthode GET . Certains utilisateurs peuvent se sentir mal à l’aise avec la méthode GET pour diverses raisons.

Pour changer GridView sur yii2 de la méthode GET à la méthode POST, vous pouvez essayer comme dans l’exemple suivant.

1. Voir

Dans le fichier de vue, ajoutez le widget Pjax avant et après la grille, comme ceci.

	..............
	..............
	..............
	
    <?php yiiwidgetsPjax::begin(['id' => 'some-id-you-like',

'timeout' => false,

'enablePushState' = > false,

'clientOptions' => ['method' => 'POST'] ]); 
		
?>

    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' = > $searchModel,
        'columns' => [
            ..............
			..............
            ..............
        ],
    ]); 
	?>

    <?php 
	
	yiiwidgetsPjax::end(); 
	
	?>

..............
	..............
	..............

2. Contrôleur

Sur le contrôleur de commutation

$dataProvider = $searchModel->search(Yii::$app->request->queryParams);

with

$dataProvider = $searchModel->search(Yii::$app->request->post());

C’est assez facile, n’est-ce pas ? ? ??? Bonne chance…

ARTICLES LIÉS

Dernières articles