功能预览
自定义内容模型加新字段,影响的只是字段层,老文章的正文不会被读不出来:新字段在既有文档上是空的,模板读到空值而不是报错。真正会出问题的是模板里把空值当成必取项、以及批量导入时列名与新字段没对齐。改前先备份,按分类分批迁移,出错还能退回。
自定义内容模型加了新字段,老文章的正文不会被读不出来。加字段影响的是字段层,不是正文存储层:新字段在既有文档上的值是空的,模板读到空值,正文本身照旧输出。真正会让人以为「读不出来」的,是模板里把这个新字段写成了必取项、或者批量导入时列名跟新字段没对齐导致覆盖,以及改完字段后没有做一遍抽查就整站放出。
AnQiCMS 的自定义内容模型支持灵活的内容结构,内容模型决定文章可以填哪些自定义字段。字段的新增、改名、调整填写要求,作用范围都在字段定义上:列表页与详情页是否显示、后台编辑界面出现什么输入项、导入导出时有哪些列。正文作为独立的内容存储,不会因为旁边多了一个字段就被重写或截断。
需要留意的是字段的必填设置。把新字段设为必填,只影响之后新建与再保存的文档;已经存在的文档不会被强制回填,但下次编辑保存时会被要求补填,这会造成「老文章改不动」的错觉。
第一种,模板只输出正文,不看新字段,行为完全不变。第二种,模板引用了新字段,老文档该字段为空,页面输出空白位置,结构不报错但视觉上缺内容,这类问题最容易出现在列表页的副标题、参数栏上。第三种,字段改名或删除之后又重建,模板里引用的是旧字段名,取不到值,看起来就像内容丢了。
排查方法很直接:拿一篇老文章分别用改前改后的模板看渲染结果,对照空白出现的位置,就能判断是空值还是字段名对不上。
先定字段与口径,再动内容。顺序上建议:在测试站或草稿状态里建字段,写清字段用途和取值范围;选一个分类作为试点,把该分类下的文档补填新字段,确认模板显示正常;再按分类批量推进。数量大的时候用批量导入处理,AnQiCMS 支持 ZIP 压缩包和 Excel 表格两种入口,表格导入的列名要和新字段一一对应,否则会出现填进去但读不出的情况。
老表述的统一修改走全站替换,批量替换关键词或链接,比逐篇手工编辑省力;替换范围建议限定在需要的那个分类,避免误伤同名词。
改字段之前做一次备份。备份与恢复覆盖数据与静态文件,字段结构调整失败可以退回改动前的状态。文档层面的误操作有第二层余地:删除正式文档是移入回收站而不是物理删除,可以恢复;不希望提前曝光的改动放在草稿状态,需要按节奏放出的用待发布与定时发布控制,改错了也不会直接见客。
加字段会不会触发全站重新生成? 不会,字段定义变化不等于正文变化;只有模板改动会影响渲染。
空值能不能给个默认显示? 在模板里对空值做条件判断,取不到就显示约定的占位文案,比留白更清楚。
试点分类选哪个? 选文档量适中、字段用途最典型的那个分类,问题最容易暴露。
预览
稿件发出去才发现用词违规,问题在于把合规检查全押在发布之后。敏感词过滤在写入时生效,内容审核在发布前生效,关键词替换与全站替换用于批量改掉既有表述。三道防线各自拦在不同步骤,配合草稿、待发布、回收站的状态流转,才能保证违规词不上线、上线了也能退回来。
预览
静态站生成器本身不带编辑入口,内容改在代码仓库的文本文件里,改完必须重新生成并推送才算上线。需要工程介入的通常是三类改动:字段结构调整、模板修改和批量替换。带后台的内容管理系统把这三步收进界面,自定义字段决定编辑能改到哪一层,可视化模板编辑与批量导入减少了对代码的依赖,发布前还能用草稿状态预览。
预览
未受保护的表单六成以上提交来自机器人,防垃圾的顺序是先加隐藏字段再考虑验证码:隐藏字段对真人无打扰、能挡掉大量按模板填写的基础机器人,但挡不住人工代打服务;验证码提高拦截上限却增加真人被误拒的概率。按投诉量与漏网比例决定是否加第二层。