insolita/yii2-form-prefiller

记住用户填写的表单数据

安装: 17

依赖: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 0

开放问题: 0

类型:yii2-extension

2.0.0 2021-10-26 19:03 UTC

This package is auto-updated.

Last update: 2024-08-27 01:14:18 UTC


README

记住用户填写的表单数据,使用已记住的数据填充表单。这非常有用,例如记住筛选/排序偏好,或者使某些属性保持不变

Status

安装

安装此扩展的首选方法是通过 composer

运行以下命令之一

composer require --prefer-dist insolita/yii2-form-prefiller "~1.0"

"insolita/yii2-form-prefiller": "~0.0.1"

将以下内容添加到您的 composer.json 文件的 require 部分。

用法

扩展安装后,配置组件

'components'=>[
    'prefiller' => [
            'class'   => \insolita\prefiller\FormPrefiller::class,
            'storage' => [
            //one of storage types - db,session,cookie,redis supported
                'class'    => \insolita\prefiller\storages\CookieStorage::class,
            ],
        ],
]

支持 ActiveRecord 模型,yii\base\Model,DummyModel

在存储中记住 $model 数据

   Yii::$app->prefiller->persist($model, new PrefillConfig([]));

从存储中填充 $model

  Yii::$app->prefiller->fillFromStorage($model, new PrefillConfig([
       'skipFromStorageAttributes'=>['someAttr'],
       'validateStorage'=>false
  ]));

从请求中填充模型:->fillFromStorage->fillDefaults->persist 如果请求更新模型

  $filter = new DummyModel(['page','sort','sortOrder','searchQuery','viewMode']);

  Yii::$app->prefiller->fill($filter, new PrefillConfig([
       'method'=>'get',
       'defaults'=>['sort'=>'price','sortOrder'=>'desc','viewMode'=>'grid']
       'skipFromRequestAttributes'=>['searchQuery'],
       'validateRequest'=>true
  ]));