跳转到内容

内容模型扩展

你应该注意到了一件事——BangNiCMS 的 产品 / 文章 / 页面 实体字段都很少:标题、简介、详情、封面、分类。

为什么不直接内置「图集 / 视频 / 规格表 / 作者署名」等字段?

因为不同行业的需求完全不同

  • 工业设备站 → 功率、防护等级、工作温度
  • 服装电商 → 尺码、材质、颜色
  • SaaS 服务 → 月费、试用期、API 限额
  • 行业洞察文章 → 作者、阅读时长、难度等级

如果都内置进系统,字段表会变成 50+ 列,多数都是空的,编辑界面会被无关字段塞满。

BangNiCMS 的方案:核心保持简洁,额外字段通过”模型包”按需安装

后台入口:内容管理 → 内容模型

待补充截图 左侧「模型包市场」列出可安装的包 + 右侧已安装/启用的模型清单
后台「内容模型」管理页全貌

「模型包」可以理解成给某种内容类型加扩展字段的”插件”

举例:你装了”工业设备产品扩展”模型包后:

  • 产品编辑页右侧多出几组扩展字段:
    • 图集(多张产品图)
    • 规格表(功率、电压、防护等级等键值对)
    • 演示视频
    • 技术规格 PDF
  • 卸载这个模型包后,这些字段消失(数据可保留可清除)
  • 不影响产品的核心字段(标题、简介、封面、分类)

模型包是一个 .zip 文件,开发者打包后分发,运维上传安装。

模型包能给你提供以下字段类型:

  • 单行短文本 — 作者、来源、版本号
  • 多行长文本 — 短简介、备注(不带格式)
  • 富文本 — 带格式的详细描述(标题 / 列表 / 图片)
  • 数字 — 价格、功率、阅读时长
  • 是 / 否开关 — “是否新品”、“是否在售”
  • 日期 / 日期时间 — 上市日期、活动时间
  • 下拉选择(单选 / 多选)— 难度等级、产品系列
  • 单图片 — 海报、二维码、自定义封面
  • 单文件 — 单 PDF、CAD 图纸
  • 媒体图集(图片 + 视频混排)— 产品图集(视频自动排前)
  • 键值对参数组 — 规格表、参数列表

具体每种字段的样子,由模型包配置决定。

模型包有 4 种状态:

  • 可安装 — 还未注册到系统
  • 已安装 — 注册了,但还没启用,扩展字段不生效
  • 已启用 — 启用中,编辑界面立刻显示扩展字段
  • 已归档 — 卸载后保留数据的状态,方便未来重装恢复

「模型包市场」列出可用的包:

  1. 找到想要的模型包 → 点 安装

  2. 系统读取模型定义 → 状态变成「已安装

  3. 启用 → 状态变「已启用

  4. 立即生效 — 进对应内容编辑页就能看到扩展字段

  1. 上传模型包 → 选 .zip 文件

  2. 系统校验包结构 → 通过则状态变「已安装

  3. 启用 → 状态变「已启用

待补充截图 拖拽 zip 文件到上传区,校验通过后显示包名 / 版本 / 描述 / 「启用」按钮
模型包上传弹窗 + 安装结果

字段多了之后编辑界面会拥挤——模型包用分组把字段组织成多个折叠面板:

工业设备产品(已启用)
├─ 基本信息(不改)
│ ├─ 标题、简介、详情(系统原生字段)
├─ 媒体
│ ├─ 产品图集
│ ├─ 演示视频
│ └─ 技术规格 PDF
├─ 规格参数
│ ├─ 功率(瓦)
│ ├─ 工作温度
│ ├─ 防护等级(IP54 / IP65 / IP67)
│ └─ 完整参数表
└─ 营销
├─ 新品标
└─ 上市日期

后台编辑界面按分组展示,运营按需展开 / 折叠,提升效率。

待补充截图 产品编辑页右侧或下方的几个折叠面板,每个面板含若干扩展字段
编辑产品时的扩展字段分组

问题场景

文章模型包里需要两套字段:

  • 「行业洞察」分类下需要:作者署名 + 阅读时长
  • 「新闻动态」分类下需要:新闻来源 + 记者 + 发稿地

直接全部混在一起,运营会被两套字段塞满——明明是新闻却要填”阅读时长”很奇怪。

解决方案:模型包定义字段时声明它”只在哪些分类生效”。

效果:

  • 编辑「行业洞察」分类下的文章 → 只看到「作者 / 阅读时长」字段
  • 编辑「新闻动态」分类下的文章 → 只看到「新闻来源 / 记者 / 发稿地」字段
  • 前台输出时也按分类过滤——避免泄漏不该显示的字段

两种卸载策略:

  • 归档(默认推荐):保留所有已录入的数据,重装时自动恢复
  • 彻底删除:删除模型定义 + 已录入的所有字段值,无法恢复
待补充截图 弹窗显示两个红色按钮:「归档(保留数据)」和「彻底删除(不可恢复)」
卸载弹窗的二选一

排查清单:

现象可能原因解决
模型包装了但产品编辑页没新字段还没启用进模型包列表点「启用」
启用了但字段没出现当前内容没挂在合适的分类下(受作用域限制)切换到命中作用域的分类查看
浏览器没刷新缓存问题硬刷新页面(Cmd/Ctrl+Shift+R)
启用了字段,但前台没显示新字段值主题没适配主题需要显式渲染该字段,新字段需要主题升级

两种方式都支持

  • 手建:后台「内容模型」点新建,自己加字段。适合一次性内部使用、不需要分发的场景
  • 模型包:开发者打包成 zip,便于跨站点共享、版本化迭代

新手建议:先用现成的模型包(如系统自带的”工业设备”模型)满足需求,特殊需要再手建或定制开发。

安装/启用模型包会丢已有数据吗?

Section titled “安装/启用模型包会丢已有数据吗?”

不会——安装只是注册模型定义,启用只是让它生效。你之前在系统原生字段填的内容(标题、简介、详情)完全不动

不能——同一种内容类型(产品 / 文章 / …)同一时刻只能启用一个模型包。这是为了避免字段冲突和心智混乱。

卸载(归档)后,前台还显示旧字段值吗?

Section titled “卸载(归档)后,前台还显示旧字段值吗?”

可能会——如果主题模板里硬编码读取了某个扩展字段,归档后该字段值仍在数据库里,主题继续读取就还能显示。

要彻底清除:

  1. 选「彻底删除」策略卸载
  2. 或在主题模板里加判断”如果模型字段不存在就不渲染”

未来 BangNiCMS 会有官方的模型包市场。当前阶段:

  • 系统自带几个内置模型包(开箱即用)
  • 自定义需求请联系开发者打包

通常流程:

  1. 后台模型包列表显示「有新版本可用」
  2. 点「升级」 → 上传新 zip 或在线下载
  3. 系统自动应用新字段定义,旧字段值保留

如果新版本删除了某些字段,那些字段的值会变成”孤立 JSON”——仍在数据库里但编辑界面看不到。

  • 产品管理 / 文章管理 — 看扩展字段在编辑页的位置
  • 媒体库 — 图集 / 单图字段的上传依赖
  • 主题(建设中)— 让前台正确渲染扩展字段
  • 模型包开发(建设中)— 自己打包 .zip 模型包