prodixx/dropzone-field-for-backpack

Laravel Backpack 的 Dropzone 字段

2.2.0 2023-06-06 11:32 UTC

This package is auto-updated.

Last update: 2024-09-06 14:35:19 UTC


README

Latest Version on Packagist Total Downloads The Whole Fruit Manifesto

此软件包为使用 Laravel Backpack 管理面板的项目提供了 Dropzone 字段类型。

更确切地说,Dropzone 字段类型允许管理员上传多个图片到 CRUD 实体。上传后,您可以通过拖放简单地重新排序图片。

截图

Backpack Toggle Field Addon

安装

通过 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 而不是使用问题跟踪器。

鸣谢

许可证

该项目以 MIT 许可证发布,因此您可以在任何 Backpack & Laravel 项目上安装它。请参阅 许可证文件 获取更多信息。

但是,请注意,您确实需要安装 Backpack,因此您还需要遵守其 YUMMY 许可证。这意味着在生产环境中,您将需要 Backpack 许可证代码。您可以在 backpackforlaravel.com 上获得免费的非商业用途许可证(或商业用途的付费许可证)。