More

    [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…

    Dernières articles