visual-ideas / moonshine-spatie-medialibrary
Spatie\MediaLibrary 字段用于 MoonShine Laravel 管理面板
2.2.1
2024-04-03 20:16 UTC
Requires
- php: ^8.1
Conflicts
- moonshine/moonshine: <2.0
README
兼容性
安装
该字段旨在与由 Spatie 开发的 Laravel-MediaLibrary 包一起使用,并扩展默认字段 Image
composer require visual-ideas/moonshine-spatie-medialibrary
在开始使用 Spatie\MediaLibrary 字段之前,请确保
- 已安装并配置 spatie/laravel-medialibrary 包
- 已安装 visual-ideas/moonshine-spatie-medialibrary 包
- 将传递给 Spatie\MediaLibrary 的字段通过
->addMediaCollection('Field')
添加为集合名称
在模型中
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; class ModelClass extends Model implements HasMedia { use InteractsWithMedia; //... public function registerMediaCollections(): void { $this->addMediaCollection('cover'); } //... }
在 MoonShine 中
use VI\MoonShineSpatieMediaLibrary\Fields\MediaLibrary; //... MediaLibrary::make('Cover', 'cover'), //...
默认情况下,该字段以单图模式工作
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; class ModelClass extends Model implements HasMedia { use InteractsWithMedia; //... public function registerMediaCollections(): void { $this->addMediaCollection('cover')->singleFile(); } //... }
如果您想使用字段加载多张图片,则在声明字段时添加 ->multiple()
方法
use VI\MoonShineSpatieMediaLibrary\Fields\MediaLibrary; //... MediaLibrary::make('Gallery', 'gallery')->multiple(), //...