prodixx / dropzone-field-for-backpack
Laravel Backpack 的 Dropzone 字段
Requires
- backpack/crud: ^4.1.0|^5.0
- illuminate/support: ^7.0||^8.0||^9.0||^10.0
- intervention/image: ^2.5
Requires (Dev)
- orchestra/testbench: ~5|~6
- phpunit/phpunit: ~9.0
README
此软件包为使用 Laravel Backpack 管理面板的项目提供了 Dropzone 字段类型。
更确切地说,Dropzone 字段类型允许管理员上传多个图片到 CRUD 实体。上传后,您可以通过拖放简单地重新排序图片。
截图
安装
通过 Composer
composer require prodixx/dropzone-field-for-backpack
使用方法
目前,您只能在更新操作中使用 drozone 字段。因此,要使用它,请在您的自定义 CrudController 中这样做
namespace App\Http\Controllers\Admin; use Prodixx\DropzoneFieldForBackpack\Traits\DropzoneTrait; class ProductCrudController extends CrudController { use DropzoneTrait; protected function setupUpdateOperation() { $this->setupCreateOperation(); CRUD::addField( [ 'name' => 'images', 'label' => 'Images', 'type' => 'dropzone', 'disk' => 'public', 'destination_path' => 'products/', 'image_width' => 800, 'image_height' => 600, 'mimes' => 'image/*', 'max_file_size' => 5, // MB 'webp' => true, // (optional) also save webp version 'view_namespace' => 'prodixx.dropzone-field-for-backpack::fields', 'thumb_prefix' => '', // 'hint' => 'Some info', // (optional) some text that is shown under the field // 'tab' => 'Images', // (optional) if you want the field to be shown in tabs ], ); } }
注意 view_namespace
属性 - 确保它与上面完全一致,以便告诉 Backpack 从这个 附加包 加载字段,而不是假设它在 Backpack\CRUD 包 中。
覆盖
如果您需要以任何方式更改字段,可以轻松地将文件发布到您的应用中,并按任何方式修改该文件。但请注意,您将不会获得任何更新。
步骤 1. 将 blade 文件复制到您的目录
# create the fields directory if it's not already there mkdir -p resources/views/vendor/backpack/crud/fields # copy the blade file inside the folder we created above cp -i vendor/prodixx/dropzone-field-for-backpack/src/resources/views/fields/dropzone.blade.php resources/views/vendor/backpack/crud/fields/dropzone.blade.php
步骤 2. 在使用字段的地方删除 vendor 命名空间
CRUD::addField(
[
'name' => 'images',
'label' => 'Images',
'type' => 'dropzone',
'disk' => 'public',
'destination_path' => 'products/',
'image_width' => 800,
'image_height' => 600,
'mimes' => 'image/*',
'max_file_size' => 5, // MB
'webp' => true,
- 'view_namespace' => 'prodixx.dropzone-field-for-backpack::fields'
'thumb_prefix' => '',
// 'hint' => 'Some info', // (optional) some text that is shown under the field
// 'tab' => 'Images', // (optional) if you want the field to be shown in tabs
],
);
步骤 3. 卸载此软件包。因为它只提供单个文件,而您不再使用该文件,所以安装此软件包没有意义
composer remove prodixx/dropzone-field-for-backpack
变更日志
变更记录在 Github 上。请参阅 版本标签。
贡献
请参阅 contributing.md 以获取待办事项列表和如何操作。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 catalin.prodan@newpixel.ro 而不是使用问题跟踪器。
鸣谢
- Catalin Prodan
- Cristian Tabacitu - 作为 Backpack 的创建者
- 所有贡献者
许可证
该项目以 MIT 许可证发布,因此您可以在任何 Backpack & Laravel 项目上安装它。请参阅 许可证文件 获取更多信息。
但是,请注意,您确实需要安装 Backpack,因此您还需要遵守其 YUMMY 许可证。这意味着在生产环境中,您将需要 Backpack 许可证代码。您可以在 backpackforlaravel.com 上获得免费的非商业用途许可证(或商业用途的付费许可证)。