以前的文档侧边栏读的是应用里的静态路由表:新增一篇文档要改代码、重新部署,而且 链接指向的路由必须是客户端路由认识的路径,否则点击无效。
现在侧边栏由 CMS 的两个集合生成:
docs-sections:分组(名称、slug、排序、描述)docs:文档条目(标题、slug、section引用、排序)
分组是按引用解析的
docs.section 存的是分组条目的 id(UUID),不是 slug。构建时必须把它翻译成 slug
再去匹配分组的 slug,否则所有链接都会掉进"无分组"的兜底列表——链接能显示,但分组
标题全没了。这类错误不会报错,只是安静地少东西,所以特别值得写下来。
链接是真实锚点
侧边栏用 @/router 的 Link 渲染,它始终输出 <a href>:认识的路径走客户端路由,
CMS 里新增的路径走普通整页跳转。这样"CMS 加一篇文档"永远是可点击的,不依赖前端路由表
同步。
空的侧边栏是怎么来的
如果 CMS 数据正常但侧边栏一片空白,先看渲染它的岛拿到的 props。曾经的问题是
{...cmsPage} 只展开了页面字段,导航数据根本没传进岛——页面正常、正文正常、控制台
无报错,只有侧边栏是空的。
