第一步:基础检查(90%的问题出在这里)
这部分是最高频的原因,请务必首先检查。

(图片来源网络,侵删)
检查手机站模板文件是否存在且正确
手机站列表页的模板文件通常是 list_artlist.htm 或者在你的手机模板目录下的 list_*.htm 文件。
-
确认文件位置:
- 进入
DedeCMS后台 -> 模板 -> 模板管理 -> 手机模板。 - 找到你当前手机站正在使用的模板目录。
- 检查是否存在
list_artlist.htm文件(或者你自定义的列表页模板文件,如list_xxx.htm),如果文件不存在,复制一个PC端的列表页模板(如list_default.htm)到手机模板目录,并重命名为list_artlist.htm。
- 进入
-
检查模板内容:
- 打开
list_artlist.htm文件。 - 关键代码:确保模板文件中包含调用文章列表的核心代码,最常用的代码是:
{dede:list pagesize='10'} <li> <a href="[field:arcurl/]">[field:title/]</a> <span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span> </li> {/dede:list} - 分页代码:确保包含分页代码,这对于判断列表是否被调用非常重要。
{dede:pagelist listsize='4' listitem='pre,next,end' function='html2url(@me)'/} - 如果文件内容为空或被误删,请从正常的PC模板中复制一份基础列表代码过来。
- 打开
检查手机站栏目是否正确绑定了模板
即使模板文件存在,如果栏目没有告诉系统去使用它,列表页也会空白。

(图片来源网络,侵删)
- 操作路径:
- 进入
DedeCMS后台 -> 核心 -> 频道管理 -> 栏目管理。 - 选择你的手机站列表页所在的那个顶级栏目(通常是“手机站”或类似名称的栏目)。
- 在栏目编辑页面,切换到 “手机栏目” 选项卡。
- 检查 “列表模板” 是否已经选择,它应该指向
list_artlist.htm或你自定义的模板文件。 - 特别注意:检查下方的 ” 选项卡,在“选择列表内容”部分,确保你选择了正确的内容模型(通常是“文章”),并且点击了 “更新” 按钮,有时候这里没有选择或更新,也会导致列表为空。
- 进入
检查栏目是否设置了“使用动态页”
这是一个非常经典的“坑”,如果栏目被设置为“使用动态页”,但在模板中却使用了静态的列表调用标签,就会导致列表为空。
- 检查方法:
- 同样在后台 “栏目管理” 中,编辑你的手机站栏目。
- 切换到 “常规选项” 选项卡。
- 查看 ” 部分,取消勾选 “使用动态页”。
- 保存后,去前台刷新手机站列表页,看是否恢复正常。
第二步:进阶排查(如果第一步无效)
如果基础检查后问题依旧,那么需要深入一些。
检查PHP版本兼容性问题
DedeCMS不同版本对PHP版本的要求不同,特别是高版本的PHP(如PHP 7.4+)可能会与旧版本的DedeCMS产生不兼容,导致执行出错而页面空白。
- 检查方法:
- 联系你的虚拟主机服务商,确认当前PHP版本。
- 查看你的DedeCMS版本官方文档,了解其推荐的PHP版本。
- 解决方案:尝试在主机控制面板中 降级PHP版本(例如从PHP 8.0降到PHP 7.4或7.2),这是最有效的解决方法之一。
检查 /include/arc.listview.class.php 文件
这是DedeCMS生成列表页的核心类文件,如果它被修改或损坏,列表页将无法生成。

(图片来源网络,侵删)
- 检查方法:
- 通过FTP或文件管理器,找到
/include/arc.listview.class.php文件。 - 下载这个文件,与一个干净、未修改过的同版本DedeCMS安装包里的同名文件进行对比。
- 如果发现有任何差异(比如被二次开发或黑客篡改),请用干净的文件覆盖它。
- 覆盖后,再到后台 “生成” -> “更新主页HTML”,然后尝试更新你的手机站列表页。
- 通过FTP或文件管理器,找到
检查 {dede:list} 标签的缓存问题
标签的缓存会导致数据无法正确读取。
- 解决方案:
- 进入后台 “系统” -> “系统基本参数” -> “性能选项”。
- 找到 “是否开启DedeTag缓存”,将其设置为 “否”。
- 保存后,清空所有缓存(后台右上角有“清空缓存”按钮),然后重新生成列表页。
检查数据库表前缀和权限
如果你的网站进行过迁移或安装过插件,数据库表前缀可能被修改,导致SQL查询失败。
- 检查方法:
- 查看你的
/data/common.inc.php文件,确认$cfg_dbprefix的值。 - 进入你的phpMyAdmin,检查数据库中的表前缀是否与配置文件中的一致。
- 确保数据库用户对你的网站数据表有 “SELECT”(查询)权限。
- 查看你的
第三步:终极调试(定位具体错误)
如果以上所有方法都无效,那么问题很可能出在代码执行层面,我们需要找到具体的错误信息。
开启PHP错误报告
这是定位问题的最直接方法。
- 操作方法:
- 通过FTP找到
/include/common.inc.php文件。 - 在文件开头(
<?php之后)添加以下代码:ini_set('display_errors', 'On'); error_reporting(E_ALL); - 保存文件,然后用浏览器访问手机站列表页。
- 现在页面应该会显示出具体的 错误信息(如
Fatal error: Call to undefined function...或Notice: Undefined variable...)。 - 根据这个错误信息,去搜索引擎搜索解决方案,或者根据错误信息定位到具体代码进行修改。
- 排查完成后,务必删除这两行代码,以免暴露网站信息。
- 通过FTP找到
总结与建议
| 排查顺序 | 检查项 | 解决方案概要 |
|---|---|---|
| 1 | 手机站模板文件 (list_artlist.htm) |
确认文件存在,内容包含 {dede:list}
|
| 2 | 栏目绑定模板 | 在后台“手机栏目”选项卡中,确保选择了正确的列表模板。 |
| 3 | 栏目动态页设置 | 在后台“常规选项”中,取消勾选“使用动态页”。 |
| 4 | PHP版本兼容性 | 联系主机商,尝试降级PHP版本(如降到7.4)。 |
| 5 | 核心类文件 (arc.listview.class.php) |
用干净的安装包文件进行覆盖。 |
| 6 | 标签缓存 | 后台关闭DedeTag缓存,并清空所有缓存。 |
| 7 | 数据库 | 检查表前缀和数据库权限。 |
| 8 | 开启PHP错误报告 | 在 common.inc.php 中添加调试代码,根据具体错误信息进行修复。(终极手段) |
按照这个流程走一遍,99%的DedeCMS手机站列表页空白问题都能得到解决,如果问题依然存在,很可能是你的网站进行了深度二次开发,建议检查最近是否修改过模板文件或安装过有问题的插件。
