pentium10/yii-remember-filters-gridview

这个Yii扩展可以帮助你在导航过程中记住GridView的筛选值,筛选条件将保持不变。

1.2.2 2013-12-25 21:49 UTC

This package is auto-updated.

Last update: 2024-08-23 23:52:57 UTC


README

ERememberFiltersBehavior Yii扩展为CActiveRecord/Model实现添加了一些功能。

它将检测搜索场景,并保存从GridView中获取的筛选条件。当您需要在页面更改时记住它们时,这很有用。对于大量的导航和复杂的筛选,只需几行代码即可激活此功能。

它还支持默认筛选值和记住场景。例如,如果您只想显示“活动产品”,则可以使用此扩展设置默认筛选条件。或者,如果您在不同视图中具有相同的模式,则可以设置不同的场景来记住彼此分离的状态。请参阅高级功能和场景部分下的可选参数。

Please login to see the Demo image!

要求

  • Yii 1.1

捐赠

点击此处捐赠

资源

安装

我们建议使用Composer安装此扩展。将其添加到您的composer.json文件中的require部分

"pentium10/yii-remember-filters-gridview" : "dev-master"

您还需要包含Composer的自动加载器

    require_once __DIR__.'/protected/vendor/autoload.php';

用法

步骤 1

要使用此扩展,只需将此文件复制到您的components/目录,将 'import' => 'application.components.ERememberFiltersBehavior', [...] 添加到您的config/main.php中,并将以下代码粘贴到您的模型的behaviors()方法中

public function behaviors() {
       return array(
           'ERememberFiltersBehavior' => array(
               'class' => 'application.components.ERememberFiltersBehavior',
			   'defaults'=>array(),           /* optional line */
			   'defaultStickOnClear'=>false   /* optional line */
           ),
       );
}

步骤 2

您的actionAdmin()必须不使用unsetAttributes(),因为这已被移动到扩展中。

使用此扩展后,actionAdmin可以像这样简单

        public function actionAdmin()
        {
                $model=new Company('search');
                $model->unsetAttributes();  // clear any default values
                if(isset($_GET['Company']))
                        $model->attributes=$_GET['Company'];
                $this->render('admin',array(
                        'model'=>$model,
                ));
        }

一样简单

        public function actionAdmin()
        {
                $model=new Company('search');
                $this->render('admin',array(
                        'model'=>$model,
                ));
        }

高级功能

(如果您使用这些功能,请捐赠)

  • 'defaults'是一个键值对数组,将保存您的筛选器默认值。例如,当您最初想显示活动产品时,您可以将array('status'=>'1')设置为。当然,您可以在数组中放置多个默认值。

  • 'defaultStickOnClear'=>true可以用来,如果您想在用户清除筛选器时将默认值放回。默认设置为false,因此如果用户清除筛选器,则也会清除默认值,用户将获得一个绝对干净的筛选器表单。当设置为true时,如果表单被清除,则用户将获得一个具有默认值的表单。

场景

(如果您使用这些功能,请捐赠)

您可以使用scenarios在相同模型的多个状态下记住筛选条件。当您使用相同模型的不同视图,并希望记住彼此分离的状态时,这很有用。
已知限制:视图必须在不同的操作中(不在同一视图中)

要设置场景,请在使用实例化之后添加setRememberScenario调用
示例代码

        public function actionAdmin()
        {
                $model=new Company('search');
				$model->setRememberScenario('scene1');
                $this->render('admin',array(
                        'model'=>$model,
                ));
        }

此扩展还有一个配套的清除筛选条件GridView

记住,筛选,cgridview,gridview,存储,重新加载,控制器,模型,行为,接口,小部件,粘性,场景

变更日志

CHANGELOG.md

贡献

  1. Fork 它。
  2. 创建一个分支(git checkout -b my_enhancement_name
  3. 提交您的更改(git commit -am "Added Sorting"
  4. 推送到分支(git push origin my_enhancement_name
  5. 打开一个 拉取请求
  6. 享受一杯清新的可口可乐并等待