insolita / yii2-form-prefiller
记住用户填写的表单数据
2.0.0
2021-10-26 19:03 UTC
Requires
- php: >=7.0
- nesbot/carbon: ^2.0
- yiisoft/yii2: ~2.0.13
Requires (Dev)
- codeception/codeception: ^3.1
- codeception/specify: 0.4.*
- codeception/verify: 0.4.*
- vlucas/phpdotenv: *
- yiisoft/yii2-redis: 2.*
This package is auto-updated.
Last update: 2024-08-27 01:14:18 UTC
README
记住用户填写的表单数据,使用已记住的数据填充表单。这非常有用,例如记住筛选/排序偏好,或者使某些属性保持不变
安装
安装此扩展的首选方法是通过 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
]));