patroklo/octobercms-improved-fileupload

通过用户自定义规则改进 October CMS 文件上传表单小部件选项。

v1.2.1 2016-05-20 15:03 UTC

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'];
    }

就是这样!任何您的问题或想法都受欢迎!