最后更新时间:2026-09-22 19:05:50
当前版本的模板解析没有做存在性检查和兜底。配了一个不存在的模板名,页面不会优雅降级到默认模板,而是直接 500。所以「改了栏目配置之后某个页面突然 500」的 first suspect 就是模板名写错了。
系统按页面类型决定用哪个模板,并且可以被栏目或内容上的字段覆盖:
| 页面类型 | 默认模板 | 覆盖字段 |
|---|---|---|
| 栏目列表页 | category.html | 栏目的 template 字段 |
| 栏目单页 | page.html | 栏目的 c_template 字段 |
| 内容详情页 | article.html | 内容的 template 字段 |
| 特殊页面 | 按页面选项匹配 | 由内置的页面选项规则决定 |
规则是优先用覆盖字段,没配才回落到默认模板。所以排查时两边都要看:栏目的 template 有没有填错,以及主题里到底有没有那个文件。
views/ 目录下。一个能跑通基本浏览的主题,views/ 下至少要有:
index.html(首页)category.html(栏目列表)article.html(内容详情)page.html(单页)上传主题包时目前只校验是否包含 info.json、views、static,不会校验必需模板是否齐全。所以一个缺了 article.html 的主题也能装上,但一点开详情页就 500——这是很典型的「安装成功、用起来崩」。
view_reload,模板错误能显示详细信息,排查快很多。