功能预览

功能介绍

自定义内容模型加了字段之后,模板和批量导入要不要跟着改

自定义内容模型加字段只是第一步:模板不取值新字段就不会显示,批量导入的表格与压缩包模板没同步会让历史数据被覆盖,接口导入还要保持字段名一致。本文按模型、模板、导入三条链路给出改动顺序与验证方法。

模板 批量导入 内容模型

功能介绍

自定义内容模型加了字段之后,模板和批量导入要不要跟着改?要。字段只在模型层存在时,前台看不到它,导入也写不进它。一条完整的链路要走三段:模型定义字段、模板取用字段、导入与接口对齐字段,任何一段没跟上,新字段就只是数据库里的一个空列。AnQiCMS 支持自定义内容模型与自定义字段,正是为了让这三段能按内容类型分别配置。

第一段:字段先落在模型上

先确定字段的归属:是全局字段还是某个内容模型独有。产品参数放产品模型,案例编号放案例模型,把字段一次性加到全局,后续别的模型继承下来会变成一堆无效列。

再加约束:是否必填、是否参与列表筛选、值类型是文本还是数值与日期。约束决定模板取值方式与导入时的校验强度,后面两步都要以此为准,先加字段后补约束往往要重做模板。

第二段:模板取值要跟着改

字段不会因为进了数据库就自动出现在页面上。模板要显式取用该字段,改动至少涉及三处:详情页展示、列表页是否输出、筛选与排序是否引用。

改动位置 要做什么 不做的表现
详情页模板 增加字段取值与空值兜底 页面上看不到新字段
列表页模板 决定是否输出摘要字段 列表与详情信息不一致
筛选与排序 把字段加入可筛选项 后台能填不能查
导入模板 更新表格与压缩包字段列 批量写入时新列为空

空值兜底不要省。老数据没有新字段值,模板直接取值会在页面渲染出空白或占位符,加一层”为空则不显示”的判断比事后补救省事。

第三段:批量导入的两种路径都要同步

批量导入支持 ZIP 压缩包与 Excel 表格两种。加了字段后,两件事必须同步:下载给编辑使用的导入模板要包含新列;导入校验要按模型约束检查必填与类型。

最常见的事故是”用旧模板导新数据”:旧模板缺少新列,导入按标题匹配已有文档并覆盖更新,新字段被清空。规避方式是导入前先拿少量样本试跑,确认新字段有值,再执行全量;重要批量操作前做一次备份,出错可回退。

接口侧同理。走文档内容导入接口 /api/import/archive 做批量导入时,字段名要与模型定义一致,接口支持按标题查询文档是否已存在,重复提交不会产生两份相同内容。用接口灌数据时把字段清单固定在调用脚本里,比每次靠人工核对表格列名可靠。

改完之后怎么验证

按状态各取一条验证:正式文档、草稿、待发布与回收站四种状态下,新字段是否都能正确显示与恢复。特别要看回收站——删除正式文档是移入回收站而非物理删除,若字段改动影响了恢复逻辑,回收站里的文档恢复后可能出现字段错位。验证顺序建议是:先改一条草稿确认取值正确,再发布为正式文档,最后把一条删除进回收站再恢复,看数据是否完整。

常见问题

问:字段改名比新增更省事吗? 答:不是。改名会让历史取值、模板引用与既有导入模板同时失效,新增字段加数据迁移通常比改名风险更低。

问:数值字段要不要在模板里做格式? 答:要。数值类型直接输出容易出现小数位与单位不统一,展示格式在模板层固定,比让编辑在填写时自行控制稳定。

问:怎么确认导入有没有覆盖旧数据? 答:导入前记录受影响文档的字段快照,导入后比对;批量操作留可恢复的备份点,出问题按备份回退。