visual-ideas/moonshine-spatie-medialibrary

Spatie\MediaLibrary 字段用于 MoonShine Laravel 管理面板

2.2.1 2024-04-03 20:16 UTC

This package is auto-updated.

Last update: 2024-09-03 21:11:42 UTC


README

Latest Version on Packagist Total Downloads

兼容性

安装

该字段旨在与由 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(),

//...