feat: 文章/分类/评论关联细节完善

- 文章列表:会员插件注入「付费」徽章列(会员/付费¥xx,停插件即消失)
- 分类:真实文章数(withCount)、名称点击跳文章列表并按分类筛选(ListPosts booted 预置筛选)
- 分类:新增封面(medialibrary)+ 介绍(description 字段/表单);前台分类页顶部展示介绍区;SEO description + BreadcrumbList 结构化数据(GEO)
- 文章编辑:MarkdownEditor 内容区加大(26rem);文章编辑页新增「评论」关系管理页(可审/拒)
- 评论列表:文章列带摘要
- 三套主题补 .category-intro 样式
- 测试更新(付费徽章列)
This commit is contained in:
ak
2026-08-12 22:44:16 +08:00
parent a22175d5b7
commit 5f74dd76e4
18 changed files with 276 additions and 34 deletions
+2 -2
View File
@@ -43,7 +43,7 @@ class PostFormInjectionTest extends TestCase
$this->assertContains('meta.members_only', $fieldNames);
}
public function test_post_table_includes_price_and_member_columns(): void
public function test_post_table_includes_paid_badge_column(): void
{
// Table 构造器要求 HasTable Livewire 组件,测试中绕过构造器
$table = (new ReflectionClass(Table::class))->newInstanceWithoutConstructor();
@@ -51,7 +51,7 @@ class PostFormInjectionTest extends TestCase
$names = array_keys($table->getColumns());
$this->assertContains('meta.price', $names);
// 会员插件注入的付费徽章列(meta.members_only 承载价格/会员判定)
$this->assertContains('meta.members_only', $names);
$this->assertContains('title', $names);
}