后台以「列表」与「专题」两种分组组织全部内容。核心设计逻辑:一切内容归属栏目——无论文章、产品还是单页,都在「结构 → 栏目管理」中创建栏目,不存在栏目之外的创建入口。
归属分组
每个内容类型必须归属「列表」或「专题」之一。在后台「结构 → 内容类型」的创建/编辑表单中,通过「归属分组」单选设置(默认列表),不再是开关:
| 归属分组 | 典型类型 | 侧边栏分组 | 内容组织方式 |
|---|---|---|---|
| 列表 | 文章、产品 | 列表 | 栏目下挂多篇内容,前台按列表页 / 详情页渲染 |
| 专题 | 单页 | 专题 | 一栏目一单页,点击菜单直接编辑内容 |
内容类型列表页的「分组」列以徽章显示归属。
侧边栏分组规则
侧边栏「列表」「专题」两个分组均按栏目展开,栏目按所属类型的归属分组划入对应分组:
- 类型有栏目 → 该分组下按栏目逐个展开
- 类型无栏目(例如刚切换归属分组、尚未建栏目的过渡期)→ 该分组下显示类型入口兜底,内容不会失联
- 切换类型的「归属分组」后,其栏目入口平滑迁移到新分组
专题工作流:一栏目一单页
专题栏目采用「一栏目一单页」设计(参考 PbootCMS 的关于页/单页模型):
- 创建即有内容:新建归属分组为「专题」的栏目时,自动创建对应的单页内容——标题、别名与栏目一致,状态为已发布;
- 点击即编辑:侧边栏「专题」下的栏目项直达该内容的编辑页,不存在「创建」环节(仅当内容被手动删除后,菜单退回创建页兜底);
- 类型只读:内容编辑页的「内容类型」锁定为只读,创建后不可更改,避免栏目归属与自定义字段错位。
配合模板指定:单页栏目用哪个模板
前台模板解析规则:栏目页路由 /{栏目slug} 一律使用栏目设置的「列表页模板」(留空默认 list),与归属分组无关;「详情页模板」只在内容详情路由 /{栏目slug}/{内容slug}.html 中生效。 因此归属分组为「专题」的单页栏目,其入口页调用的同样是列表页模板,不会切换到详情页模板,也不会使用主题的 page.html(后者只服务不归属栏目的独立单页内容)。动态访问与静态化构建走同一路由,行为一致。
单页效果通过「列表页模板 + {fy:list} 取正文」实现:在栏目编辑的「模板指定 → 列表页模板」中选择单页风格的模板(默认主题已内置 topic),模板内用 {fy:list} 取出该栏目唯一的已发布内容,正文以 [list:body raw=1] 原样输出:
{fy:list cat="栏目slug" num="1"}
<header>
<img src="[list:cover]" alt="[list:title]">
<h1>[list:title]</h1>
</header>
<div class="topic-body">[list:body raw=1]</div>
{/fy:list}- 内容由系统按「一栏目一单页」自动创建维护,模板无需关心它从何而来;
- 完整参考实现见默认主题
fengqi的topic.html。
自定义字段表单
- 日期类型控件与系统统一样式:日历面板选择、
Y-m-d格式回显,并带「填入当前日期」时钟按钮(与内置「发布时间」一致); - 「发布时间」显示格式统一为
Y-m-d H:i; - 字段标识(key)仅用于模板取值与字段管理,不再显示在内容创建/编辑表单中。
轮播图分组
轮播图按分组组织,适配「不同位置调用不同轮播」的场景(如 PC 首页与移动端各一套):
- 在「扩展 → 轮播图分组」创建分组(如
home首页轮播、mobile移动端轮播); - 在「扩展 → 轮播图」维护图片并选择所属分组(分组下拉中也可就地新建);
- 模板按分组标识调用:
{fy:banners group="home"},缺省group输出全部可见轮播图。
关于预设问答类型
预设的「问答」内容类型已移除,统一收敛到栏目模型:
- FAQ 能力不受影响:任意内容类型/栏目下仍可创建「问答(FAQ)」类型的自定义字段,FAQPage 结构化数据照常自动生成;
- 需要问答板块时,新建一个栏目(如「常见问题」)并为其所属类型添加 qa 字段即可。