patroklo / octobercms-improved-fileupload
通过用户自定义规则改进 October CMS 文件上传表单小部件选项。
v1.2.1
2016-05-20 15:03 UTC
Requires
- php: >=5.4
- october/backend: ~1.0
- october/cms: ~1.0
- october/rain: ~1.0
- october/system: ~1.0
This package is not auto-updated.
Last update: 2024-09-26 02:10:58 UTC
README
这是一个简单的 October CMS 文件上传表单小部件扩展,允许在表单 YAML 配置文件或声明字段的模型中添加用户自定义规则。
安装
在终端手动输入
$ composer require patroklo/octobercms-improved-fileupload
或者将此添加到项目中的 composer.json
文件
"patroklo/octobercms-improved-fileupload": "*"
完成!
新的图片模式
表单小部件中新增了一种名为 image-multi-big
的模式。激活后,上传的图片会比标准的多文件上传大。
要激活此模式,只需在 YAML 文件中声明它即可
fields:
// ...
images:
tab: Tab text
label: Label text
type: Patroklo\FormWidgets\FileUpload
mode: image-multi-big
// ...
新的规则
开发了一套额外的规则集,以提高表单系统的性能
maxFiles:[number]
此规则必须仅在此表单小部件中使用。
它检查与此模型相关联的上传文件的数量,如果超过定义的数量,将抛出错误并停止上传。
配置
### 将表单小部件添加到您的 YAML 配置表单文件中
由于这不是默认的表单小部件,更好的方式是声明完整的类命名空间
fields:
// ...
images:
tab: Tab text
label: Label text
type: Patroklo\FormWidgets\FileUpload
mode: image
// ...
现在您可以使用表单小部件,就像它是 FileUpload 的默认版本一样。
用户自定义规则
规则与在验证库中使用的规则完全相同,在新规则部分中定义了额外的规则。
如果您想使用用户自定义上传规则,有两种不同的方法可以实现:在表单配置文件中添加 YAML 选项或添加到方法类中。
YAML 配置文件将具有优先级,因此如果您同时定义了两者,将应用 YAML 中的一个。
在 YAML 配置文件中添加规则
fields:
// ...
images:
tab: Tab text
label: Label text
type: Patroklo\FormWidgets\FileUpload
mode: image
rules: required|image|maxFiles:5|max:1024
// ...
在模型的函数中添加规则
您可以在包含您要添加文件的属性的模型中添加一个新的方法,其中可以存储所有规则。
这种方式添加规则的好处是可以允许动态规则。
class User extends Model { ... public $attachMany = [ 'images' => 'System\Models\File' ]; /** * File upload rules * @return array */ public function fileUploadRules() { return ['images' => 'required|image|maxFiles:5|max:1024']; }
就是这样!任何您的问题或想法都受欢迎!