tjmpromos / sortable-gallery
提供具有 Filament 管理界面的可排序图片库组件。
Requires
- php: ^8.1
- filament/filament: ^3.0
- filament/forms: ^3.0
- filament/spatie-laravel-media-library-plugin: ^v3.0.47
- filament/spatie-laravel-tags-plugin: ^v3.0.47
- filament/tables: ^3.0
- illuminate/contracts: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
- livewire/livewire: ^v3.0.2
- spatie/laravel-medialibrary: ^10.12.2
- spatie/laravel-tags: ^4.5.1
Requires (Dev)
- laravel/pint: ^v1.13.1
- nunomaduro/collision: ^v7.8.1
- nunomaduro/larastan: ^v2.6.4
- orchestra/testbench: ^v8.10.1
- pestphp/pest: ^v2.18.1
- pestphp/pest-plugin-laravel: ^v2.2.0
- phpstan/extension-installer: ^1.3.1
- phpstan/phpstan-deprecation-rules: ^1.1.4
- phpstan/phpstan-phpunit: ^1.3.14
- spatie/laravel-package-tools: ^1.16.1
- spatie/laravel-ray: ^1.33.0
- tightenco/duster: ^2.4
README
Laravel 的可排序画廊
这是一个快速可安装的可排序画廊,适用于 Laravel 应用程序。在底层,它使用 Filament 来管理资源。我们默认使用 Livewire 和 Alpine.js 进行交互,以及 TailwindCSS 进行样式设计,但您也可以发布视图并更改前端以符合您的需求。
先决条件
此软件包使用以下软件包,并在安装 sortable-gallery 之前需要安装和配置
可选
这些软件包不是必需的,但默认用于视图中的样式和交互。如果您愿意,可以自行实现样式和交互。
安装
通过 Composer
composer require tjmpromos/sortable-gallery
入门指南
新应用程序
如果您尚未使用 Filament,您需要运行一些命令才能开始。我们建议您查看 Filament 的文档 了解安装说明,但以下是一些快速入门的基本操作。
您需要迁移一些表到您的数据库中才能开始。要这样做,只需运行
php artisan migrate
现有应用程序
如果您目前正在使用 Filament 或有一个媒体表,在迁移过程中可能会遇到冲突。为了帮助解决这个问题,我们提供了一些可发布的迁移。您可以通过运行将它们导出到您的 database/migrations
目录
php artisan vendor:publish --tag=sortable-gallery-migrations
发布和编辑配置文件
但首先,您可能需要发布配置文件,以便您可以创建您的类别。您可以通过运行来完成此操作
php artisan vendor:publish --tag=sortable-gallery-config
这将创建 config/sortable-gallery.php
,它将提供一些选项,例如您存储媒体的位置、您的标签类型和预览图像的大小。
media_library
这可以是任何数量的标签类型(想象一下它们就像类别一样),您可以将标签分组到其中。我们使用它们来进行颜色、产品选项等...
preview_image_size
这允许您设置前端显示的图像预览大小。
添加到 FilamentPHP v3 管理面板
将以下内容添加到您的 FilamentPHP AdminPanelProvider.php 文件或您选择的任何面板提供者文件中
use Tjmpromos\SortableGallery\SortableGalleryPlugin; class AdminPanelProvider extends PanelProvider { ublic function panel(Panel $panel): Panel { return $panel ->default() ->id('admin') ->path('admin') //... other panel config ->plugins([ SortableGalleryPlugin::make(), ]); } }
发布和编辑 Livewire 组件
我们使用 BaguetteBox.js 来实现我们的灯箱,并努力使 UI 尽可能不干扰,但您可以使用任何您想要的。您可以发布视图并编辑 resources/vendor/sortable-gallery/livewire
视图以使用您想要的任何内容。
php artisan vendor:publish --tag=sortable-gallery-views
测试
composer test
更新日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请查阅我们的安全策略如何报告安全漏洞。
鸣谢
许可证
MIT 许可证(MIT)。请参阅许可证文件以获取更多信息。