安装与启用模型包
模型包的安装、启用、卸载与主题 / 插件类似——但因为它直接影响内容数据结构,操作前需要更谨慎。
后台入口:扩展市场 → 模型包 Tab
-
从可信渠道获取
.zip包:- BangNiCMS 官方
- 你雇的开发者
- 公司内部团队
-
进「扩展市场 → 模型包」 → 点 上传模型包
-
拖拽 / 选择
.zip待补充截图 拖拽 zip 文件到上传区,校验通过后显示包名 / 版本 / 描述 / 「启用」按钮上传模型包弹窗 + 安装结果 -
系统校验:
- 包结构合法
- 字段定义无冲突(不会跟现有字段重名)
- 类型合法
-
校验通过 → 状态默认「已停用」(不会自动启用,给你检查机会)
-
启用前最后检查:
- 该包包含哪些字段?
- 绑定到哪个内容类型?(产品 / 文章 / 页面 / 下载)
- 字段是否会和现有字段冲突?
-
启用 → 字段立刻在编辑页生效
启用 / 停用
Section titled “启用 / 停用”启用:
- 字段在内容编辑页立即出现
- 已录入的内容会显示新字段为空(还没填)
- 前台主题如果支持渲染该字段会显示
停用:
- 字段从内容编辑页消失
- 已录入的数据保留 → 重新启用时会回来
- 前台不再渲染该字段(即使主题支持)
卸载第三方模型包
Section titled “卸载第三方模型包”两种卸载模式(设计上鼓励”归档”):
归档卸载(默认推荐)
Section titled “归档卸载(默认推荐)”-
点 卸载
-
弹窗显示两个红色按钮:
⚠️ 卸载「工业设备字段」模型包① 归档(保留数据)字段从编辑页消失,但已录入的字段值保留未来重装同名包,数据自动恢复② 彻底删除(不可恢复)字段定义 + 所有内容里录入的字段值全部删除重装也无法恢复 -
选 归档(保留数据)
-
点 确认归档
-
模型包代码包从服务器删除,但字段定义 + 数据仍在数据库
重装时:上传同名 extensionKey + version 的包 → 字段定义和数据自动恢复 → 编辑页重现该字段。
彻底删除(慎用)
Section titled “彻底删除(慎用)”-
点 卸载 → 选 彻底删除(不可恢复)
-
弹窗二次确认:
⚠️ 危险操作!你即将删除:- 字段定义 6 个- 已录入的数据 247 条(来自 51 个产品)该操作不可恢复。请输入「确认彻底删除」继续:[_____________________] -
必须手动输入确认文字才能执行
-
字段 + 数据彻底从数据库删除
升级模型包(新版本)
Section titled “升级模型包(新版本)”-
拿到新版
.zip -
点 上传模型包
-
系统检测到已有同
extensionKey的旧版本 → 弹窗确认升级 -
升级前预览变更:
即将升级:工业设备字段 v1.2 → v1.5变更:✓ 新增字段:cad_drawings(CAD 图纸 多文件)✓ 新增字段:iso_certifications(ISO 认证 多选)⚠️ 修改字段:specifications(规格表)数据类型 短文本 → 富文本现有数据将自动迁移(短文本被包装成 <p> 标签)✗ 删除字段:legacy_serial_no(不再需要)现有数据将丢失!如需保留请先导出 -
认真审核变更——尤其是删除字段和类型变更
-
确认升级 → 数据迁移按 manifest 规则执行
-
升级后抽样检查 5-10 条内容——确认数据正确
一些边界情况
Section titled “一些边界情况”安装的 zip 校验失败
Section titled “安装的 zip 校验失败”| 报错 | 原因 | 解决 |
|---|---|---|
| 不是合法 zip | 包损坏 | 让开发者重新打包 |
| 缺少 manifest.json | 包结构不对 | 让开发者按规范打包 |
| 字段冲突 | field_key 跟现有字段同名 | 让开发者改字段 key 或先卸载冲突包 |
| 绑定的内容类型不存在 | 包绑定了不存在的类型 | 让开发者改对 |
启用模型包后编辑页报错
Section titled “启用模型包后编辑页报错”最快恢复:立刻停用该模型包 → 编辑页恢复 → 联系开发者。
如果后台进不去(极少见),让运维:
UPDATE extension SET status = 'disabled'WHERE extension_type = 'model-package' AND extension_key = 'xxx';多人同时编辑同一条内容时启用 / 停用包
Section titled “多人同时编辑同一条内容时启用 / 停用包”避免——可能导致:
- 正在编辑的人看到”字段突然消失”
- 保存时报”字段不存在”
最佳实践:在低峰期(晚上 / 周末)操作模型包变更,提前通知运营。
一次能装多少模型包?
Section titled “一次能装多少模型包?”技术上没硬上限。实际建议不超过 10 个同时启用——超过会让编辑页字段过多、渲染慢、运营录入负担大。
不同模型包的字段会冲突吗?
Section titled “不同模型包的字段会冲突吗?”校验阶段会拦截——field_key 重复的包不能同时启用。
但业务语义上的冲突(两个包都加了”型号”字段,叫不同名字)—— 系统不会拦,需要你自己评估。
启用模型包后字段为什么是空的?
Section titled “启用模型包后字段为什么是空的?”这是正常的——新字段对已存在的内容默认为空。需要你(或团队)逐条回填。
如果业务可接受自动填默认值,让开发者在 manifest 里加 defaultValue——启用时所有现有内容自动填该默认值。
模型包能”灰度启用”吗(仅某些产品先启用)?
Section titled “模型包能”灰度启用”吗(仅某些产品先启用)?”当前不支持——启用即整个内容类型生效。
如果需要”测试期间只对部分产品启用”:
- 启用包,但只让运营在测试产品里填该字段(其他产品字段保持空)
- 主题前台用
if (field is empty) hide逻辑控制显示
卸载后再装会自动恢复数据吗?
Section titled “卸载后再装会自动恢复数据吗?”归档卸载:会的——数据库里数据保留,重装即恢复。
彻底删除:不会——数据已删除,重装是空白。
我能自己改模型包里的字段定义吗(不重装包)?
Section titled “我能自己改模型包里的字段定义吗(不重装包)?”通常不能——字段定义来自 manifest,运营在后台只能调展示属性(如顺序、可见性),不能改类型 / 验证规则。
如果你想改字段本身:
- 让开发者出新版本包
- 或自己开发一个新的模型包