gromatics / laravel-nova-unsplash-media-library
在 Laravel Nova 中搜索并添加 Unsplash 图片到媒体库
1.0.4
2024-06-09 12:59 UTC
Requires
- php: >=8.0
- spatie/laravel-medialibrary: >=11.5
README
Laravel Nova Unsplash Media Library 是一个将 Unsplash 集成到 Laravel Nova 的软件包,它允许您直接在 Nova 资源内搜索和选择 Unsplash 中的图片。此软件包基于 Spatie 的 Laravel Media Library,提供了强大的媒体处理能力。
安装
步骤 1:获取 Unsplash API 密钥
首先,您需要获取一个 Unsplash API 密钥。请按照以下步骤操作
- 访问 Unsplash 开发者页面。
- 注册或登录您的 Unsplash 账户。
- 创建一个新的应用程序以获取 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 存储库中创建一个问题。