|
@@ -40,12 +40,30 @@ class CollectionController extends Controller
|
|
|
->first();
|
|
|
|
|
|
if (!$tag) {
|
|
|
- return response()->json(['message' => '标签未找到'], 404);
|
|
|
+
|
|
|
+ abort('404','tag not found.');
|
|
|
}
|
|
|
|
|
|
|
|
|
// 获取关联的 pages
|
|
|
- $pages = $tag->pages()->get();
|
|
|
+
|
|
|
+ $perPage = 12;
|
|
|
+ $pages = $tag->pages($perPage); // 使用分页
|
|
|
+
|
|
|
+ // 创建分页数据结构
|
|
|
+ $paginator = [
|
|
|
+ 'previous_page' => $pages->previousPageUrl() ? true : false, // 是否有上一页
|
|
|
+ 'previous_page_url' => $pages->previousPageUrl(), // 上一页的 URL
|
|
|
+ 'next_page' => $pages->nextPageUrl() ? true : false, // 是否有下一页
|
|
|
+ 'next_page_url' => $pages->nextPageUrl(), // 下一页的 URL
|
|
|
+ 'current_page' => $pages->currentPage(), // 当前页
|
|
|
+ 'total_pages' => $pages->lastPage(), // 总页数
|
|
|
+ 'pages' => range(1, $pages->lastPage()), // 页码数组
|
|
|
+ 'page_url' => array_combine(
|
|
|
+ range(1, $pages->lastPage()),
|
|
|
+ array_map(fn($page) => $pages->url($page), range(1, $pages->lastPage()))
|
|
|
+ ), // 每页的 URL
|
|
|
+ ];
|
|
|
|
|
|
|
|
|
// 构建导航数据 开始
|
|
@@ -68,6 +86,7 @@ class CollectionController extends Controller
|
|
|
$output = LiquidRenderer::render('collection_list.liquid', [
|
|
|
'tag' => $tag,
|
|
|
'pages' => $pages,
|
|
|
+ 'paginator' => $paginator, // 分页信息
|
|
|
'breadcrumbs' => $breadcrumbs,
|
|
|
]);
|
|
|
|