第一步:检查文章编辑器本身的问题
这是最常见、最简单的原因。
-
切换编辑器模式:
- 登录DedeCMS后台。
- 进入“系统” -> “系统基本参数” -> “核心设置”。
- 找到 “默认编辑器” 这一项。
- 尝试切换一下,比如从
ckeditor切换到fck或者dede,或者反过来,保存后,去编辑一篇旧文章看看内容是否恢复。
-
检查编辑器是否加载完整:
- 在编辑文章时,如果页面加载不完整或者有JS错误,也可能导致内容区域空白。
- 尝试 清除浏览器缓存和Cookie,然后重新登录后台,再次编辑文章。
- 换一个浏览器(比如从Chrome换到Edge)试试,排除浏览器兼容性问题。
-
检查编辑器工具栏:
内容其实还在,只是被隐藏了,看看编辑器工具栏上有没有一个类似“源代码”或“<>”的按钮,点击它切换回可视化模式,看看内容是否出现。
第二步:检查数据库和文章数据
如果第一步无效,那问题可能出在数据库层面。
-
直接检查数据库:
- 这是最直接的方法,通过phpMyAdmin等工具登录你的数据库。
- 找到你的DedeCMS数据库,找到
dede_archives表(文章主表)。 - 找到那篇内容不显示的文章,查看
body字段(或者dede_addonarticle表里的body字段,如果是独立模型)。 - 重点检查
body字段里的内容:- 内容是否为空? 如果数据库里就是空的,那说明你在发布文章时就没成功保存,或者保存时出现了问题。
- 内容是否被截断? 有时因为数据库字段长度限制,内容可能被截断,只存了一部分。
- 内容是否包含特殊字符? 有时候一些特殊字符会导致解析错误,显示不出来。
-
检查文章状态:
- 在
dede_archives表里,检查arcrank字段,如果这个值不为0(比如是-1),表示文章是“待审核”状态,前台和后台可能都看不到,但通常后台编辑时是能看到内容的,所以这个可能性较低,但也可以排查一下。
- 在
第三步:检查文件和权限问题
-
检查缓存目录:
- 登录FTP或服务器,找到你的网站根目录下的
/data目录。 - 检查
cache和tplcache这两个文件夹是否存在,以及它们的读写权限是否正确(通常需要设置为755或777,但777有安全风险,建议755)。 - 尝试清空这两个文件夹里的所有缓存文件,然后回到后台刷新再试。
- 登录FTP或服务器,找到你的网站根目录下的
-
检查相关文件是否完整:
- 检查
/dede/目录下的article_edit.php文件是否存在且没有被损坏,可以下载一个同版本的DedeCMS文件,覆盖上去试试。
- 检查
第四步:检查模板和标签问题
这个通常影响的是前台不显示,但偶尔也会导致后台编辑器加载异常。
- 检查后台模板:
- 登录FTP,找到
/dede/templets/目录。 - 检查
article_edit.htm这个文件是否存在,如果丢失或损坏,后台编辑页面就会显示异常。 - 可以从官方下载一个完整版的DedeCMS,用里面的
article_edit.htm文件覆盖你的。
- 登录FTP,找到
第五步:检查插件或代码冲突
如果你最近安装了新的插件或修改了系统文件,这很可能是原因。
-
禁用插件:
- 尝试将
/dede/目录下的config.php文件临时重命名(比如改成config.php.bak),这样可以临时禁用所有插件。 - 然后去编辑文章,看问题是否解决,如果解决了,说明是某个插件的问题,你需要逐个启用插件来定位是哪个插件导致的。
- 尝试将
-
检查自定义函数:
- 检查
/include/extend.func.php文件,看里面是否有修改文章内容或过滤标签的代码,这些代码可能错误地清空了内容。
- 检查
总结与排查流程建议
遇到这个问题,建议按照以下流程快速排查:
- 【最快】 清除浏览器缓存 -> 切换编辑器类型 -> 再试。
- 【最准】 登录数据库,用phpMyAdmin直接查看
dede_archives表的body字段,确认内容是否还在。 - 【最常见】 检查
/data/cache和/data/tplcache目录的权限,并清空缓存。 - 【最后考虑】 怀疑是插件或文件损坏,通过禁用插件或覆盖核心文件来排查。
如果以上所有方法都试过了问题依旧,那么很可能是你的数据库或核心文件出现了比较严重的损坏,可以考虑从备份恢复,或者在确认数据安全的情况下,重新安装一个干净的DedeCMS,然后通过数据导入工具恢复文章内容(注意:恢复前务必备份数据库!)。
