父栏目内容为空是内容站常见的展示问题:内容挂在子栏目下,父栏目页没有条目,访问者打开后看不到任何内容。实践从聚合判定、筛选栏与分页一致性三处入手,让父栏目按需聚合子栏目内容,列表与分页数值保持一致。
问题表现为三类:父栏目页条目为零、筛选按钮指向其他栏目、列表条数与分页页数不匹配。三类问题同时出现时,访问者会先看到空页面,再遇到跳转异常,最后在翻页时发现页码与内容不符。
聚合规则按内容归属判定:自身有已发布内容时只展示自身,自身无内容且存在子栏目时按层级聚合后代内容,没有子栏目时只展示自身。规则确定后,列表与分页统计使用同一套归属判定,两处结果天然一致。
聚合顺序按先判断内容数量再展开层级执行:先读取自身已发布内容数量,数量为零时才展开栏目层级,常见的有内容栏目页不会因聚合规则增加额外查询。
| 栏目状态 | 展示范围 | 分页统计口径 |
|---|---|---|
| 自身有内容 | 仅当前栏目 | 按当前栏目计数 |
| 自身无内容且有子栏目 | 含全部后代栏目 | 按聚合范围计数 |
| 无子栏目 | 仅当前栏目 | 按当前栏目计数 |
筛选栏按列表归属确定按钮指向:聚合场景下首个按钮指向当前栏目并在当前页高亮,同层场景下指向上一级栏目且不高亮。归属判定与列表使用同一套规则,按钮指向与列表内容不再出现偏差。
修正后的核对方式是按页面类型逐项确认:有子栏目的栏目页、叶子栏目页与站点根栏目页三类各取一例,核对按钮链接与高亮状态,以及点击后列表内容是否与预期一致。
筛选栏在分类数量较多时按两种方式处理:宽屏把放不下的分类收进下拉入口,筛选栏与搜索框保持同一行;窄屏改为横向滑动并保留可滑动提示,搜索框单独占一行。两种方式都保持分类顺序与后台排序一致。
适配的核对方式是按断点逐档验证:切换窗口宽度后确认分类数量变化、首个按钮高亮保持、搜索框位置符合预期,且横向滑动时滚动位置复位正常。
上线后按三个入口做例行核对:父栏目页确认条目数量与分页页数匹配,筛选按钮确认链接指向与当前展示范围一致,搜索框确认筛选结果仍在同一页内呈现。三项核对每周执行一次,结果留档便于比对。
核对数据的用途是发现回归:栏目结构调整、内容批量迁移或模板改版之后,按同一套核对项复测即可判断展示逻辑是否受影响。核对项固定后,运营侧的验收标准不再依赖个人经验。
内容运营侧的配合方式同步明确:新增栏目时按归属关系挂载,父栏目与子栏目的内容分布不需要人工干预,展示逻辑自动适配。归属关系清晰后,栏目结构的调整也不再需要模板配合。
父栏目按需聚合子栏目内容,筛选栏链接与高亮指向正确,列表和分页数值一致,展示问题就此收敛。
用 xiis 承载多站点内容与站点运营,从部署到上线只需几步。