[yii2] Como Cambiar un Filtro GridView de GET a POST

En yii1, CGridView, por defecto, si realizamos filtros a partir de datos utilizamos el método POST para solicitar los datos.

Mientras que en yii2, por defecto el filtro GridView utiliza el método GET . Algunos usuarios pueden sentirse incómodos con el método GET por diversas razones.

Para cambiar GridView en yii2 de método GET a POST, puedes probarlo como en el siguiente ejemplo.

1. Ver

En el archivo de la vista añada el widget Pjax antes y después de la rejilla como esto.

	..............
	..............
	..............
	
    <?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. Controlador

En el controlador del interruptor

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

con

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

Es bastante fácil, ¿no? ???? Buena suerte…

Artículos más recientes