错误的核心原因
这个错误的发生流程是:

- 用户访问一个页面(例如文章详情页
article.php?id=123)。 - DedeCMS 的后台程序接收到请求,根据 ID 等参数找到数据库中对应的文章数据。
- 程序接着去指定的目录寻找与这篇文章对应的模板文件(
default/article_article.htm)。 - 关键步骤:程序在指定目录下没有找到这个模板文件。
- 系统无法继续渲染页面,于是抛出“模板文件不存在,无法解析文档”的错误提示。
常见原因及排查方法(由简到繁)
请按照以下顺序逐一排查,大概率能找到问题所在。
模板文件真的不存在或路径错误(最常见的原因)
这是最直接的原因,文件可能被误删、移动,或者程序指定的路径和文件实际存放的路径不一致。
排查方法:
-
确认错误提示中的文件名:错误页面通常会明确告诉你它正在寻找哪个文件,错误信息可能是:
Dede 模板文件不存在:/templets/default/article_article.htm请把这个文件名记下来。
(图片来源网络,侵删) -
登录 FTP 或服务器管理后台:使用你的 FTP 工具(如 FileZilla)或服务器的文件管理器(如 cPanel 的 File Manager),登录到你的网站根目录。
-
检查文件存放位置:
- 默认情况下,DedeCMS 的模板文件存放在
/templets/目录下。 - 根据错误提示的路径,去
/templets/default/(或其他你设置的模板目录)下查找那个文件。 - 检查要点:
- 文件名是否完全匹配?(注意大小写,虽然 Linux 系统不区分大小写,但养成好习惯)
- 文件是否在那个目录下?
- 文件是否被删除了?
- 默认情况下,DedeCMS 的模板文件存放在
-
检查模板目录:你是否更换了网站模板?如果你当前使用的是
default模板,但实际模板文件在mytheme目录下,就会出错,请检查后台“系统” -> “系统基本参数” -> “站点默认模板风格” 设置是否正确。
文件权限问题
即使文件存在,web 服务器(如 Apache、Nginx)没有读取该文件的权限,也无法解析。

排查方法:
- 在 FTP 或文件管理器中,找到那个模板文件。
- 检查其文件权限,在 Linux 系统中,通常需要设置为 644(所有者可读写,组和其他用户只读)。
- 模板所在的目录(如
/templets/default/)权限通常需要设置为 755(所有者可读/写/执行,组和其他用户可读/执行)。 - 如果权限不正确,请将其修改为正确的值,如果使用 FTP,右键文件 -> “文件权限”进行修改。
include 文件路径错误
很多时候,报错的页面并不是直接的主模板,而是通过 {dede:include file='head.htm' /} 这样的标签引入的其他模板片段,如果被引入的文件路径错误,也会导致主页面解析失败。
排查方法:
- 打开报错页面对应的那个主模板文件(
article_article.htm)。 - 仔细检查文件中所有的
{dede:include}- 确认
file属性中的路径是相对于当前模板文件的,还是相对于/templets/目录的,遵循 DedeCMS 的规范很重要。- 如果
article_article.htm在/templets/default/目录下,{dede:include file='head.htm' /}会去寻找/templets/default/head.htm,如果写成{dede:include file='../head.htm' /}就会去寻找/templets/head.htm。 - 确认
程序缓存问题
DedeCMS 有强大的缓存机制,有时缓存文件损坏或与模板文件不同步,会导致程序认为模板不存在。
排查方法:
- 清空缓存:登录 DedeCMS 后台,进入“系统” -> “一键更新网站” -> “更新缓存”,点击“开始更新”。
- 手动删除缓存文件:通过 FTP 或文件管理器,删除
/data目录下的cache和tplcache目录里的所有文件,这通常能解决大部分由缓存引起的问题。
模板标签语法错误或被修改
模板文件中的某些标签可能因为误编辑而出现问题,导致 DedeCMS 的模板引擎无法正确解析,从而跳转到错误页面。
排查方法:
- 打开报错的模板文件。
- 检查是否有语法错误,
{dede:field.title/}写成了{dede:field.title}- 标签没有正确闭合。
- 使用了不存在的标签。
- 如果你最近修改过这个模板,请回想一下修改了什么,尝试恢复到修改前的状态,看问题是否解决。
数据库中模板路径字段错误
这是一种比较少见但可能发生的情况,文章或栏目记录在数据库中,会存储一个指向模板的字段,如果这个字段被错误地修改了,即使模板文件存在,程序也会去一个错误的位置寻找。
排查方法:
- 登录你的数据库管理工具(如 phpMyAdmin)。
- 找到 DedeCMS 的数据库(通常是
dedecms或你自定义的名字)。 - 检查
#@__archives(文章表) 或#@__arctype(栏目表) 表。 - 找到那条报错的记录(根据文章 ID),检查
templet字段,这个字段的值应该是default/article_article.htm这样的相对路径,而不是一个绝对路径或一个错误的路径。 - 如果发现异常,请将其修正为正确的模板路径。
总结与快速排查清单
遇到这个错误,不要慌张,按以下步骤快速定位:
- 看错误提示:记下系统提示的“找不到”的文件名和路径。
- FTP 查找:用 FTP 工具,根据路径去
/templets/目录下找这个文件。这是第一步,也是 90% 的情况所在。 - 检查权限:如果文件存在,检查其权限是否为 644,所在目录是否为 755。
- 清空缓存:登录后台,执行“更新缓存”操作。
- 检查引入:打开该模板文件,检查
{dede:include}标签的路径是否正确。 - 检查语法:通读模板文件,查找明显的标签语法错误。
- 检查数据库:作为最后手段,检查数据库中对应记录的
templet字段。
按照这个流程,绝大多数“模板文件不存在”的问题都能迎刃而解。
