Yii2,GridView,在会话中保存过滤器值 [英] Yii2, GridView, save filters value in session

查看:77
本文介绍了Yii2,GridView,在会话中保存过滤器值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有任何解决方案(在会话中)保存过滤器,以便用户回来后可以看到上次使用的过滤器"?

Is there any solution to save filters (in session) so user can see "last used filters" when he come back?

请链接手册或文档,或您的代码.我什么都没找到.

Please link in manual or docs, or your code. I found nothing searching this question.

推荐答案

这有点hack,但是可以为我节省过滤器,页面和排序.

This is somewhat a hack, but this saves filter, page and sorting for me.

将其放置在您的控制器中,假设您的模型名为客户:

Place this in your Controller, assuming your Model is called Customer:

    $searchModel = new CustomerSearch();

    $params = Yii::$app->request->queryParams;

    if (count($params) <= 1) {
      $params = Yii::$app->session['customerparams'];
      if(isset(Yii::$app->session['customerparams']['page']))
        $_GET['page'] = Yii::$app->session['customerparams']['page'];
      } else {
        Yii::$app->session['customerparams'] = $params;
    }

    $dataProvider = $searchModel->search($params);

这篇关于Yii2,GridView,在会话中保存过滤器值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆