核心排查思路:
请按照以下顺序逐一排查,每一步都检查是否解决了问题,这能帮助您快速定位症结所在。

(图片来源网络,侵删)
流程图:
检查栏目设置 -> 数据 -> 检查模板文件 -> 检查标签调用 -> 检查底层循环 -> 检查系统配置
第一步:检查栏目本身是否有内容
这是最容易被忽略,也最常见的原因。
- 登录后台:进入您的 Dedecms 后台。
- 进入栏目管理:在左侧菜单栏找到「核心」 -> 「栏目管理」。
- 找到对应栏目:点击您列表页面对应的那个栏目。
- 数量:
- 在栏目列表页面,每个栏目后面都会显示一个数字,
[栏目(12)],这个数字代表该栏目及其子栏目下已审核发布的文章总数。 - 如果这个数字是 0,那么您的列表页自然就没有内容可以显示了,这通常意味着您还没有在这个栏目(或其子栏目)下发布任何文章。
- 在栏目列表页面,每个栏目后面都会显示一个数字,
解决方案:
- 如果数字为 0,请去「内容」 -> 「普通文章」中,发布一篇新文章,并在发布时选择这个栏目。
- 如果您已经发布了文章,但这里显示为 0,请检查文章是否已审核(状态为“审核通过”),未审核的文章不会在列表页显示。
第二步:检查栏目设置与列表模板
有时候栏目有内容,但系统找不到对应的模板文件。

(图片来源网络,侵删)
-
检查栏目列表模板:
- 再次进入「栏目管理」,点击该栏目进行「修改」。
- 在栏目修改页面,找到「列表选项」标签页。
- 查看列表模板(list_xxxxx.htm)这一项,这里的
xxxxx是栏目的ID。 - 确认模板文件是否存在:系统会提示您模板文件的路径,通常是
/templets/default/或您自定义的模板目录下,请通过 FTP 或文件管理器,登录您的网站服务器,检查这个文件 是否存在。 - 确认模板路径是否正确:确保模板路径指向了正确的文件夹,而不是一个不存在的文件夹。
-
检查默认列表模板:
- 如果您只为该栏目设置了特定模板,但该模板文件丢失或出错,系统会调用系统默认的列表模板。
- 请检查
/templets/default/list\_default.htm文件是否存在,如果这个文件也不存在,那么所有未指定模板的栏目列表页都将无法显示。
解决方案:
- 如果模板文件不存在,请从 Dedecms 的官方安装包中,将对应的
list_default.htm文件复制到您的模板目录下。 - 如果模板文件存在,请检查其内容是否完整,是否被误删了关键代码。
第三步:检查列表页模板中的调用标签
这是最核心的排查环节,问题通常出在模板文件的 {dede:list} 标签上。

(图片来源网络,侵删)
- 打开您的列表模板文件:
list_1.htm。 - 检查
{dede:list}:- 标签是否存在:确保模板中有
{dede:list}和{/dede:list}这一对标签,它们之间的内容就是循环显示的单篇文章样式。 - 标签格式是否正确:检查标签是否拼写错误,
dede:list写成了dede:lst。 - 检查属性设置:
typeid:如果标签里写明了typeid='1',但您想显示的是所有栏目的内容,请删除这个属性,或者确保它的值是正确的。row和col:row='10'表示显示10条,col='1'表示每行显示1列。row设置为 0,理论上会显示所有,但有时也可能导致问题,可以先尝试设置为一个具体的数字,如row='10'。titlelen、infolen等属性不影响“有无内容”的判断,只影响内容的显示长度。
- 标签是否存在:确保模板中有
错误的示例 (可能导致无内容):
{dede:list typeid='1' row='0'}
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
{/dede:list}
正确的示例:
{dede:list}
<li>
<a href="[field:arcurl/]" title="[field:title/]">
[field:title/]
</a>
<span class="date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
</li>
{/dede:list}
注意:上面的 function="MyDate(...)" 是一个自定义函数,如果函数不存在也可能导致问题,但通常不会导致“无内容”,而是报错,先确保最基础的 [field:title/] 能显示。
第四步:检查底层循环内的字段
{dede:list} 标签本身没问题,但循环内部调用的字段有问题,导致内容无法正确渲染出来,看起来就像没有内容。
- 简化测试:将
{dede:list}和{/dede:list}之间的所有代码简化到极致,只保留一个最基础的字段。 - 使用标准字段:使用 Dedecms 最核心、最不容易出错的字段,如
[field:title/](文章标题) 和[field:arcurl/](文章链接)。
测试代码:
{dede:list}
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
{/dede:list}
- 如果这段简化后的代码可以正常显示标题,说明问题出在您原来模板中的其他字段或标签上(比如自定义字段、图片标签等)。
- 如果这段简化后的代码依然没有内容,那么问题就出在
{dede:list}标签本身或其上层环境(如第一步和第二步)。
第五步:检查系统环境与数据库
如果以上所有步骤都排查过了,问题依旧,那么可能是更深层次的原因。
-
检查数据库表前缀:
- 登录后台,进入「系统」 -> 「系统基本参数」 -> 「核心设置」。
- 查看数据库表前缀是否为
dede_,如果不是,请确保您的所有模板标签都正确地使用了这个前缀(虽然通常不需要在标签中体现,但这是一个基本配置)。 - 检查
dede_archives(文章主表)、dede_arctype(栏目表) 等核心数据表是否存在。
-
检查文件权限:
- 确保您的网站目录(特别是
/templets/和/data/目录)具有正确的读写权限,权限问题可能导致模板无法被正确读取和编译。
- 确保您的网站目录(特别是
-
检查PHP错误日志:
- 如果页面是空白一片,或者源代码里没有任何内容,很可能是PHP执行时出现了致命错误,导致页面无法渲染。
- 请查看您网站所在服务器的 PHP 错误日志(通常在
cPanel、宝塔面板或其他虚拟主机管理面板中可以找到),根据错误日志的提示来解决问题。
-
检查缓存:
- 有时缓存文件损坏也会导致奇怪的问题,登录后台,进入「系统」 -> 「一键更新缓存」,尝试更新一下全站缓存。
总结与快速自检清单
遇到 "Dede list 无内容显示" 时,请按以下清单快速检查:
| 检查项 | 解决方案 | |
|---|---|---|
| 数据源 | 栏目下是否有已审核的文章? | 发布新文章或审核已有文章。 |
| 模板文件 | 列表模板文件 (list_xxx.htm) 是否存在? |
从官方包复制模板文件到正确目录。 |
| 标签调用 | {dede:list} 标签是否存在、拼写正确? |
修正或添加 {dede:list} 循环标签。 |
| 底层字段 | 循环内是否使用了标准字段(如 [field:title/])? |
简化模板内容,使用标准字段进行测试。 |
| 系统配置 | 数据库表是否存在?服务器权限是否正确? | 检查数据库和服务器环境。 |
| 缓存问题 | 是否是缓存导致? | 在后台执行“一键更新缓存”。 |
按照这个流程,90% 以上的问题都能被找到并解决,如果问题依旧,请提供您的列表页模板代码和栏目设置截图,以便进一步分析。
