gromatics/laravel-nova-unsplash-media-library

在 Laravel Nova 中搜索并添加 Unsplash 图片到媒体库

1.0.4 2024-06-09 12:59 UTC

This package is auto-updated.

Last update: 2024-09-09 13:42:17 UTC


README

Laravel Nova Unsplash Media Library 是一个将 Unsplash 集成到 Laravel Nova 的软件包,它允许您直接在 Nova 资源内搜索和选择 Unsplash 中的图片。此软件包基于 Spatie 的 Laravel Media Library,提供了强大的媒体处理能力。

Draggable

安装

步骤 1:获取 Unsplash API 密钥

首先,您需要获取一个 Unsplash API 密钥。请按照以下步骤操作

  1. 访问 Unsplash 开发者页面。
  2. 注册或登录您的 Unsplash 账户。
  3. 创建一个新的应用程序以获取 API 密钥。

步骤 2:安装 Spatie Laravel Media Library

按照Spatie 的 Laravel Media Library 安装和设置指南进行操作。

步骤 3:安装 Laravel Nova Unsplash Media Library

使用 Composer 安装 Laravel Nova Unsplash Media Library 软件包

composer require gromatics/laravel-nova-unsplash-media-library

步骤 4:发布配置(可选)

发布配置文件

php artisan vendor:publish --provider="Gromatics\LaravelNovaUnsplashMediaLibrary\FieldServiceProvider"

步骤 5:配置 Unsplash API 密钥

将您的 Unsplash API 密钥添加到 .env 文件中

UNSPLASH_CLIENT_ID=your_unsplash_client_id

使用方法

步骤 1:准备您的模型

确保您的模型配置为使用 Spatie Media Library

use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
use Spatie\Image\Manipulations;

class YourModel extends Model implements HasMedia
{
use InteractsWithMedia;

    public function registerMediaConversions(Media $media = null): void
    {
        $this
            ->addMediaConversion('thumb')
            ->fit(Manipulations::FIT_CROP, 150, 150)
            ->nonQueued();
    }
}

步骤 2:将 UnsplashMediaLibrary 添加到您的 Nova 资源

将 UnsplashMediaLibrary 字段添加到您的 Nova 资源

use YourName\LaravelNovaUnsplashMediaLibrary\UnsplashMediaLibrary;

class YourResource extends Resource
{
// Other resource methods...

    public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),
            UnsplashMediaLibrary::make('Image'),
            // Other fields...
        ];
    }
}

许可

此软件包是开源软件,根据 MIT 许可证授权。

贡献

欢迎贡献!请创建一个新问题或提交一个 pull request。

支持

有关支持或任何问题,请在 GitHub 存储库中创建一个问题。