lisa-fehr / gallery
现有网站的画廊包
3.0
2023-08-22 20:30 UTC
Requires
- php: ^8.1
- ext-json: *
- intervention/image: ^2.7.2
- spatie/laravel-query-builder: ^5.3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.23.0
This package is auto-updated.
Last update: 2024-09-11 05:40:28 UTC
README
重创建画廊项目的打包版本

要求
- PHP ^8.1
- Laravel 9 及以上
- GD 库 *
入门指南
composer require lisa-fehr/gallery
用法
将 css 和 js 文件添加到您的布局文件中
<link rel="stylesheet" href="{{ asset('vendor/lisa-fehr/gallery/css/app.css') }}" type="text/css" media="screen"/> ... <script src="{{mix('js/app.js', 'vendor/lisa-fehr/gallery')}}"></script>
将画廊组件添加到名为 portfolio
的视图中
<div id="gallery-app" class="text-sm w-full" data-filters="{{$filter['tags'] ?? ''}}"></div>
您还可以使用不一致的模式覆盖路由
{ "tag": "path from root - no starting slash needed" }
<div id="gallery-app" class="text-sm w-full" data-filters="{{$filter['tags'] ?? ''}}" data-routes='{"portfolio":"portfolio","Folder2005":"Folder\/2005"}' ></div>
添加到网络路由文件中
主页不使用任何过滤器,应显示所有内容。
Route::get('portfolio', function () { return view('portfolio'); })->name('portfolio');
附加页面:路由名称必须与 uber_tags
表中的 name
字段匹配。必须包含当前标签在开头。
Route::get('photos', function () { return view('portfolio') ->with('filter', [ 'tags' => 'photos,California,California2005,California2009,California2014' ]); })->name('photos');
或使用 Tag 模型获取所有子标签
Route::get('California', function () { $children = UberTags::where('name', 'california')->allChildren()->pluck('name')->implode(','); return view('portfolio') ->with('filter', [ 'tags' => 'california,' . $children ]); })->name('California');
如果标签的命名路由不存在,则不会显示在导航中,以防止链接损坏。
开发
运行迁移
php artisan migrate --path=vendor/lisa-fehr/gallery/src/database/migrations
运行种子文件
php artisan db:seed --class=LisaFehr\\Gallery\\Database\\Seeders\\GalleryDatabaseSeeder
故障排除
缺失的缩略图或图像损坏
- 检查 .env 中的
APP_URL
是否正确。例如:包含端口号。 - 确保已运行:
php artisan storage:link
和php artisan images:generate
使用 UberTags 模型返回错误
Illuminate\Database\QueryException SQLSTATE[HY000]: 通用错误:1 在非聚合查询上使用 HAVING 子句
不要使用 sqlite。检查 .env 文件并填写
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=