vkabachenko / yii2-filepond
基于 filepond js 库的 Yii2 上传文件模块
dev-master
2020-03-07 10:27 UTC
Requires
- php: ^7.1
- npm-asset/filepond: ^4.4.11
- npm-asset/filepond-plugin-file-encode: ^2.1.4
- npm-asset/filepond-plugin-file-metadata: ^1.0.6
- npm-asset/filepond-plugin-file-poster: ^2.2.0
- npm-asset/filepond-plugin-file-rename: ^1.1.4
- npm-asset/filepond-plugin-file-validate-size: ^2.2.0
- npm-asset/filepond-plugin-file-validate-type: ^1.2.4
- npm-asset/filepond-plugin-image-crop: ^2.0.3
- npm-asset/filepond-plugin-image-edit: ^1.4.0
- npm-asset/filepond-plugin-image-exif-orientation: ^1.0.6
- npm-asset/filepond-plugin-image-preview: ^4.4.0
- npm-asset/filepond-plugin-image-resize: ^2.0.4
- npm-asset/filepond-plugin-image-transform: ^3.4.3
- npm-asset/filepond-plugin-image-validate-size: ^1.2.3
- yiisoft/yii2: ~2.0.14
This package is not auto-updated.
Last update: 2024-09-15 08:34:01 UTC
README
此扩展允许您在 yii2 项目中将 Filepond 上传 js 库 作为小部件使用。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令
php composer.phar require vkabachenko/yii2-filepond
或者将以下内容添加到您的 composer.json
文件的 require 部分中。
"vkabachenko/yii2-filepond": "dev-master"
使用
将扩展添加到您的配置文件中的 module
部分
'modules' => [
'filepond' => [
'class' => \vkabachenko\filepond\Module::class
]
],
之后,您可以在项目中使用 Filepond 库上传文件。
Filepond 选项
在 文档 中描述的 Filepond 选项可以通过设置 instanceOptions
或 settingsOptions
来设置。
这是首选方式
<?= FilepondWidget::widget([
'name' => 'file',
'instanceOptions' => [
'required' => true,
'maxFiles' => 10,
... other options ...
]
]);
?>
Filepond 插件
如果您想向小部件添加一些 Filepond 插件,将允许插件选项设置为 true
。例如,要添加文件类型验证插件,设置 allowFileSizeValidation
<?= FilepondWidget::widget([
'name' => 'file',
'instanceOptions' => [
'allowFileSizeValidation' => true,
'maxFileSize' => '10M',
... other options ...
]
]);
?>
验证
只有客户端验证可用。这种验证是文件pond库的一部分。您可以添加文件大小和文件类型验证。文件类型验证的示例
<?= FilepondWidget::widget([
'name' => 'file',
'instanceOptions' => [
'allowFileTypeValidation' => true,
'acceptedFileTypes' => ['image/*']
]
... other options ...
]
]);
?>
本地化
原始库没有本地化,只有英文标签。此小部件也有俄语翻译。要应用本地化,您必须在 Yii
设置或直接在小部件中设置 language
选项
<?= FilepondWidget::widget([
'name' => 'file',
'language' => 'ru-RU'
]);
?>
页面上的两个或更多小部件实例
只需分开小部件类的定义。
小部件 1
<?= FilepondWidget::widget([
'filepondClass' => 'filepond-class-1',
'name' => 'file',
'instanceOptions' => [
... first widget options ...
]
]);
?>
小部件 2
<?= FilepondWidget::widget([
'filepondClass' => 'filepond-class-2',
'model' => $uploadForm,
'attribute' => 'files[]',
'instanceOptions' => [
... second widget options ...
]
]);
?>