模板改变后,内容溢出与缺项通常不是“新模板不好”,而是旧内容结构与新容器不匹配。先做一轮全量对照,比逐页凭肉眼翻查更可靠:导出旧模板下每个内容区的字段与长度,再按新模板的容器规则逐项比对,凡超出容器上限的标记为溢出候选,凡新模板要求但旧数据没有对应值的标记为缺项候选。
换模板后常见两种相反信号。一种是前台预览大体正常,但编辑保存时提示字段过长或必填为空;另一种是前台明显错位,后台却没有任何报错。前者说明模板对字段长度和必填项有硬约束,后者说明溢出发生在渲染层,比如文本被容器裁切、图片被拉伸、列表被截断,而数据层仍然完整。
这两种信号指向不同处理顺序。若后台先报错,应先处理数据层,因为保存失败会阻断后续编辑;若前台先错位而后台无提示,应先处理渲染层,因为数据本身没坏,改的是展示规则。
发现某区域空白时,容易直接判定“内容缺项”。但还有另一种解释:旧模板的字段在新模板里没有对应位置,数据仍在,只是没被读取。区分这两种解释,可以看旧模板导出数据里该字段是否有值。有值而新页面空白,属于映射缺项;旧数据本身为空,才是内容缺项。
溢出同理。文字被截断,可能是内容超出容器上限,也可能是新模板把原来的富文本区域改成了固定高度。前者要删改内容,后者要调整容器规则。判断依据是:同一段文字在旧模板下是否完整显示,以及新模板的容器是否设了固定高度或字符上限。
三类信号里,字段级证据优先级最高,因为它不随浏览器和缓存变化。渲染级证据用于确认展示损失,保存级证据用于确认编辑流程是否被阻断。
确认溢出和缺项后,通常面临两个做法。做法一,先批量修改内容数据,把超长字段截短、把空字段补上。做法二,先调整模板容器规则,让新模板容纳旧内容的长度和结构。
选择条件不同。若新模板的容器上限是产品设计的一部分,比如卡片标题必须控制在一行以内,那么应优先改数据,否则调整容器会破坏整体版式。若容器上限只是模板默认值,而旧内容长度属于正常业务表达,那么应优先改容器,避免为了迁就模板而删掉有效信息。
代价也不同。批量改数据不可逆,删掉的内容需要从备份找回;改容器则可能影响其他页面的对齐和留白,需要回归检查。一个折中做法是:先只改容器,跑一轮全站预览,把仍然溢出的页面单独列出,再对这些页面做数据层处理。这样改数据的范围被压缩到真正超限的部分。
假设某站点换模板后,产品列表页的简介区域出现两种表现:一部分条目被截成两行并带省略号,另一部分条目下方多出一块空白。此时不要直接判定“简介太长”。先导出旧模板的简介字段,统计字符长度分布,再查看新模板该容器的行数上限。
如果被截断的条目长度集中超过容器上限,而空白条目长度明显偏短,那么截断属于溢出,空白属于缺项或映射未接。动作是:先调整容器行数上限,重新预览;若调整后截断消失但版式变乱,再退回容器规则,改为对超长条目做数据层压缩。这个动作的结果决定了下一步是继续改模板,还是转入内容清理。
复查时要注意,抓取量或请求量归零并不能单独证明处理正确,它也可能是缓存、抓取节奏或访问路径变化造成的。判断处理是否到位,仍应回到字段清单和页面渲染结果本身。