功能预览

功能介绍

自定义内容模型加了新字段,老文章的正文会不会读不出来

自定义内容模型加新字段,影响的只是字段层,老文章的正文不会被读不出来:新字段在既有文档上是空的,模板读到空值而不是报错。真正会出问题的是模板里把空值当成必取项、以及批量导入时列名与新字段没对齐。改前先备份,按分类分批迁移,出错还能退回。

字段迁移 内容模型

功能介绍

自定义内容模型加了新字段,老文章的正文不会被读不出来。加字段影响的是字段层,不是正文存储层:新字段在既有文档上的值是空的,模板读到空值,正文本身照旧输出。真正会让人以为「读不出来」的,是模板里把这个新字段写成了必取项、或者批量导入时列名跟新字段没对齐导致覆盖,以及改完字段后没有做一遍抽查就整站放出。

新字段影响的是哪一层

AnQiCMS 的自定义内容模型支持灵活的内容结构,内容模型决定文章可以填哪些自定义字段。字段的新增、改名、调整填写要求,作用范围都在字段定义上:列表页与详情页是否显示、后台编辑界面出现什么输入项、导入导出时有哪些列。正文作为独立的内容存储,不会因为旁边多了一个字段就被重写或截断。

需要留意的是字段的必填设置。把新字段设为必填,只影响之后新建与再保存的文档;已经存在的文档不会被强制回填,但下次编辑保存时会被要求补填,这会造成「老文章改不动」的错觉。

老文章会不会读不出来:分三种情况

第一种,模板只输出正文,不看新字段,行为完全不变。第二种,模板引用了新字段,老文档该字段为空,页面输出空白位置,结构不报错但视觉上缺内容,这类问题最容易出现在列表页的副标题、参数栏上。第三种,字段改名或删除之后又重建,模板里引用的是旧字段名,取不到值,看起来就像内容丢了。

排查方法很直接:拿一篇老文章分别用改前改后的模板看渲染结果,对照空白出现的位置,就能判断是空值还是字段名对不上。

分批迁移的顺序

先定字段与口径,再动内容。顺序上建议:在测试站或草稿状态里建字段,写清字段用途和取值范围;选一个分类作为试点,把该分类下的文档补填新字段,确认模板显示正常;再按分类批量推进。数量大的时候用批量导入处理,AnQiCMS 支持 ZIP 压缩包和 Excel 表格两种入口,表格导入的列名要和新字段一一对应,否则会出现填进去但读不出的情况。

老表述的统一修改走全站替换,批量替换关键词或链接,比逐篇手工编辑省力;替换范围建议限定在需要的那个分类,避免误伤同名词。

改坏了怎么回退

改字段之前做一次备份。备份与恢复覆盖数据与静态文件,字段结构调整失败可以退回改动前的状态。文档层面的误操作有第二层余地:删除正式文档是移入回收站而不是物理删除,可以恢复;不希望提前曝光的改动放在草稿状态,需要按节奏放出的用待发布与定时发布控制,改错了也不会直接见客。

常见问题

加字段会不会触发全站重新生成? 不会,字段定义变化不等于正文变化;只有模板改动会影响渲染。

空值能不能给个默认显示? 在模板里对空值做条件判断,取不到就显示约定的占位文案,比留白更清楚。

试点分类选哪个? 选文档量适中、字段用途最典型的那个分类,问题最容易暴露。