- 文章列表:会员插件注入「付费」徽章列(会员/付费¥xx,停插件即消失) - 分类:真实文章数(withCount)、名称点击跳文章列表并按分类筛选(ListPosts booted 预置筛选) - 分类:新增封面(medialibrary)+ 介绍(description 字段/表单);前台分类页顶部展示介绍区;SEO description + BreadcrumbList 结构化数据(GEO) - 文章编辑:MarkdownEditor 内容区加大(26rem);文章编辑页新增「评论」关系管理页(可审/拒) - 评论列表:文章列带摘要 - 三套主题补 .category-intro 样式 - 测试更新(付费徽章列)
41 lines
1.4 KiB
PHP
41 lines
1.4 KiB
PHP
@php
|
|
$pageTitle = ($archiveTitle ?? $category->name ?? '文章列表').' - '.$siteName;
|
|
$pageDescription = $category->description ?? ($archiveTitle ?? $category->name ?? '文章列表').' - '.$siteName;
|
|
@endphp
|
|
@include('partials.head')
|
|
<body>
|
|
@include('partials.header')
|
|
<div class="container main-layout">
|
|
<main class="content">
|
|
<h1 class="list-title">{{ $archiveTitle ?? ($category->name ?? '文章列表') }}</h1>
|
|
|
|
@if(isset($category) && ($category->description || $category->getFirstMedia('cover')))
|
|
<div class="category-intro">
|
|
@if($cover = $category->getFirstMedia('cover'))
|
|
<img src="{{ $cover->getUrl() }}" alt="{{ $category->name }}" class="category-cover">
|
|
@endif
|
|
<div>
|
|
@if($category->description)
|
|
<p class="category-description">{{ $category->description }}</p>
|
|
@endif
|
|
<p class="category-meta">{{ $category->posts_count ?? $posts->total() }} 篇文章</p>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
|
|
@forelse($posts as $post)
|
|
@include('partials.post-card', ['post' => $post])
|
|
@empty
|
|
<div class="empty">该分类暂无文章</div>
|
|
@endforelse
|
|
|
|
@include('partials.pagination', ['paginator' => $posts])
|
|
</main>
|
|
@include('partials.sidebar')
|
|
</div>
|
|
@include('partials.footer')
|
|
@stack('theme:body_end')
|
|
</body>
|
|
</html>
|