julienmru/laravel-backpack-dropzone-field

为 Laravel Backpack 添加 Dropzone 支持

3.1.0 2023-08-25 09:41 UTC

This package is auto-updated.

Last update: 2024-09-25 12:13:17 UTC


README

Laravel Backpack 添加 Dropzone 支持。

要求

限制

目前,你只能在编辑条目时管理媒体。

安装

通过 Composer

composer require julienmru/laravel-backpack-dropzone-field

发布资产

php artisan julienmru:backpackdropzonefield:install

用法

EntityCrudController

为了简单起见,将 HandleAjaxMedia 特性添加到所有 EntityCrudController。

<?php

...

use JulienMru\BackpackDropzoneField\Traits\HandleAjaxMedia;

...

class EntityCrudController extends CrudController
{
	...
    use HandleAjaxMedia;

	...
}

路由

在你的路由文件中,你必须添加额外的路由。

<?php

...

Route::crud('entity', 'EntityCrudController')
Route::post('entity/{id}/media', 'EntityCrudController@uploadMedia');
Route::delete('entity/{id}/media/{mediaId}', 'EntityCrudController@deleteMedia');
Route::post('entity/{id}/media/reorder', 'EntityCrudController@reorderMedia');

...

字段

[
	...
	'type' => 'dropzone_media',
	'collection' => 'photos', // Media collection where files are added to
	'thumb_collection' => 'thumbs', // Media collection where thumb are displayed from. If not set, 'collection' is used by default
	'options' => [
		... // Dropzone options
	]
	...
]

示例

<?php

...
$this->crud->operation(['update'], function() {
	$this->crud->addField([
		'label' => 'Photos',
		'type' => 'dropzone_media',
		'name' => 'photos',
		'collection' => 'photos',
		'thumb_collection' => 'thumbs',
		'options' => [
			'thumbnailHeight' => 120,
			'thumbnailWidth' => 120,
			'maxFilesize' => 10,
			'addRemoveLinks' => true,
			'createImageThumbnails' => true,
		],
	]);
});

...

变更日志

请参阅 CHANGELOG 了解最近更改的更多信息。

贡献

请参阅 CONTRIBUTING 了解详情。

安全

如果你发现任何安全相关的问题,请发送电子邮件至 mail@julien.expert 而不是使用问题跟踪器。

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。