dede后台为何不显示发布人?

99ANYc3cd6
预计阅读时长 10 分钟
位置: 首页 DEDE建站 正文

问题根源分析

要解决这个问题,首先需要理解DedeCMS显示发布人的流程,一个完整的显示链条包含以下几个环节:

dede 后台不显示发布人
(图片来源网络,侵删)
  1. 后台发布/编辑文章时:是否选择了或填写了“作者”字段。
  2. 文章保存到数据库时dede_archives这张核心文章表中的writer字段是否有值。
  3. 前台模板调用时:模板文件中是否使用了正确的标签来调用作者信息。
  4. 后台列表/编辑页显示时:列表模板或编辑页面是否调用了作者字段。

任何一个环节出错,都可能导致最终不显示发布人。


解决方案(按步骤排查)

请按照以下步骤逐一检查和修改,99%的情况都能解决。

第一步:检查后台发布/编辑文章时的操作

这是最常见也是最容易被忽略的环节。

  1. 发布新文章时

    dede 后台不显示发布人
    (图片来源网络,侵删)
    • 在后台发布文章的页面,找到“作者”这一栏。
    • 情况A:如果下拉列表是空的,或者没有你想要的作者,请先去“系统” -> “系统基本参数” -> “核心设置”里,检查“默认管理员ID”是否正确。
    • 情况B:直接在下拉列表中选择你想要显示的作者。请务必确保选择了作者,而不是让它为空。
  2. 编辑已有文章时

    • ” -> “所有档案”,找到一篇不显示作者的文章。
    • 点击“编辑”,在编辑页面检查“作者”字段是否为空,如果为空,请重新选择一个作者,更新”文章。

第二步:检查数据库中的数据

如果后台选择后仍然不显示,我们需要确认数据是否真的被保存了。

  1. 登录你的网站数据库管理工具(如phpMyAdmin)。
  2. 找到你的DedeCMS数据库,打开 dede_archives 表。
  3. 找到那篇不显示作者的文章对应的记录。
  4. 查看其中的 writer 字段。
    • writer 字段有值(比如是admin或者你选择的用户名),说明数据是正确的,问题出在前台模板或后台列表的调用上,请直接跳到 第三步
    • writer 字段为空,说明数据没有被正确保存,这可能是由权限问题或程序bug导致,请尝试重新发布一篇新文章,并确保在第一步中正确选择了作者,如果还是不行,请继续排查。

第三步:检查前台文章页模板调用

这是最核心的环节,通常问题出在这里,DedeCMS默认使用文章内容页模板 article_article.htm

  1. 进入后台“模板” -> “默认模板管理”。

    dede 后台不显示发布人
    (图片来源网络,侵删)
  2. 找到并点击“文章内容页模板”后面的“[修改]”按钮。

  3. 在模板代码中,找到调用作者标签的位置,通常是这样的格式:

    <span>作者:</span>{dede:field.writer /}

    或者在一些旧版本或特定模板中,可能是:

    <span>作者:</span>[field:writer/]
  4. 确保这个标签存在并且没有被注释掉(没有被 <!-- --> 包围)。

  5. 标签的语法是否正确

    • {dede:field.writer /} 是当前文章的作者,优先级最高。
    • {dede:adminname /} 是当前登录后台的管理员。
    • [field:writer/] 是旧版标签,在某些模板中也有效。
  6. 如果修改后不生效:请确保修改后点击“保存”,然后去“生成” -> “一键更新网站” -> “更新HTML”,更新一下文章页面,有时候浏览器缓存也会导致看不到效果,可以按 Ctrl+F5 强制刷新页面。

第四步:检查后台文章列表页显示

如果你指的是在后台“所有档案”列表里看不到作者列,可以按以下方法解决。

  1. 进入后台“系统” -> “系统基本参数” -> “核心设置”。
  2. 找到“后台列表显示选项”这一项。
  3. 在输入框里,确保包含了 writer 字段,通常默认的格式是:id,title,writer,senddate
  4. 如果没有 writer,请手动加上,然后用英文逗号与其他字段隔开。
  5. 点击“保存”即可。

第五步:检查会员模型(如果使用会员投稿)

如果你的网站开启了会员投稿功能,并且文章是由会员发布的,那么情况会稍有不同。

  1. 后台发布时:选择“会员”作者,并选择对应的会员。
  2. 前台模板调用:标签依然是 {dede:field.writer /},它会显示会员的用户名。
  3. 数据库检查dede_archives 表的 writer 字段会存储会员的用户名。

第六步:检查文件权限和缓存

如果以上方法都无效,可以尝试这两个“终极”操作。

  1. 清除缓存
    • 后台缓存:进入“系统” -> “清除缓存”,点击“一键更新网站”。
    • 服务器缓存:如果使用的是OPcache等,请通过服务器面板或命令行重启PHP服务。
  2. 检查文件权限
    • 确保网站目录下的 data 文件夹及其子文件夹(如 cache)具有正确的读写权限(通常是 755 或 777,但 777 有安全风险,建议先尝试 755)。

总结与排查清单

如果遇到“DedeCMS后台不显示发布人”的问题,请按此清单快速排查:

检查项 解决方法
后台发布 发布/编辑文章时,“作者”字段是否为空? 必须手动选择一个作者,不能留空。
数据库 dede_archives 表中对应文章的 writer 字段是否有值? 如果为空,重新发布文章并选择作者。
前台模板 article_article.htm 中是否存在 {dede:field.writer /}[field:writer/] 确保标签存在、语法正确、未被注释
后台列表 后台“所有档案”列表里是否没有作者列? 去“核心设置”的“后台列表显示选项”里添加 writer
会员投稿 文章是否由会员发布? 确保选择了正确的会员作者,模板调用方式不变。
缓存与权限 是否修改了模板但看不到效果? 清除所有缓存,并检查 data 目录权限。

按照这个流程,你一定能定位并解决问题,如果问题依旧存在,可能是你的DedeCMS版本存在特定bug,可以考虑升级到最新稳定版或寻求更专业的技术支持。

-- 展开阅读全文 --
头像
dede上传的文件存放在哪个目录?
« 上一篇 今天
static关键字在C语言中到底有什么用?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]