dede文章来源作者为何不显示?

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

问题排查与解决方案

文章发布时未填写来源或作者(最常见)

这是最简单也是最可能的原因,在后台发布文章时,来源”或“作者”这两个字段留空,那么在前台自然就不会显示。

dede文章来源作者不显示
(图片来源网络,侵删)

解决方案:

  1. 登录DedeCMS后台。
  2. 进入“[内容管理] -> [所有档案列表]”。
  3. 找到一篇不显示来源或作者的文章,点击“[编辑]”。
  4. 在文章编辑页面,仔细检查“来源”和“作者”这两个输入框,确保它们已经填写了内容(来源可以填“本站原创”、“转载自XX网”,作者可以填“管理员”、“张三”等)。
  5. 点击“保持”或“确定”更新文章。

提示: 如果需要批量修改,可以在“所有档案列表”页面勾选多篇文章,然后点击“[批量维护] -> [批量设置来源/作者]”来进行快速填充。


页模板文件缺失或标签错误

页是通过模板文件来渲染的,如果模板文件里没有调用来源和作者的标签,或者标签写错了,自然就不会显示。

解决方案:

dede文章来源作者不显示
(图片来源网络,侵删)
  1. 找到并打开文章内容页模板文件。 这个文件通常位于你的模板目录下,路径类似于:/templets/default/article_article.htm (如果你的模板是 default),请根据你实际使用的模板路径进行修改。

  2. 检查并添加/修正标签。article_article.htm 文件中,找到显示文章标题、正文等部分的位置,确保有如下标签:

    • 文章来源标签:

      <span>来源:</span>
      {dede:field.source/}

      或者,如果来源为空时想显示默认文本,可以这样写:

      dede文章来源作者不显示
      (图片来源网络,侵删)
      <span>来源:</span>
      {dede:field.source function='(@me ? @me : "本站原创")'/}
    • 文章作者标签:

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

      同样,可以为空时设置默认值:

      <span>作者:</span>
      {dede:field.writer function='(@me ? @me : "佚名")'/}
    • 发布时间标签(通常和它们在一起):

      <span>时间:</span>
      {dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}
  3. 保存文件并更新。 修改完模板文件后,保存它,为了确保更改生效,可以去后台的“[系统] -> [一键更新网站]”中,选择“更新HTML”或“仅更新内容页”,重新生成一下文章页面。


列表页模板文件缺失或标签错误

如果你指的是在文章列表页(如首页、栏目页)不显示来源和作者,那么问题出在列表页模板文件上。

解决方案:

  1. 找到并打开列表页模板文件。

    • 首页列表模板:/templets/default/index.htm
    • 栏目列表模板:/templets/default/list_栏目ID.htm/templets/default/list_default.htm
  2. 检查并添加/修正标签。 在列表页的循环标签 {dede:list}{dede:arclist} 内部,添加来源和作者的调用标签。

    • 使用 {dede:list}

      {dede:list pagesize='10'}
      <li>
          <a href="[field:arcurl/]">[field:title/]</a>
          <span class="author">作者:[field:writer/]</span>
          <span class="source">来源:[field:source/]</span>
          <span class="date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
      </li>
      {/dede:list}
    • 使用 {dede:arclist}

      {dede:arclist titlelen='50' row='10'}
      <li>
          <a href="[field:arcurl/]">[field:title/]</a>
          <span class="author">作者:[field:writer/]</span>
          <span class="source">来源:[field:source/]</span>
          <span class="date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
      </li>
      {/dede:arclist}
  3. 保存文件并更新。 保存模板后,同样去后台“一键更新网站”,更新对应的列表页面。


数据库问题(可能性较低)

如果以上方法都无效,可能是数据库中对应的数据字段出现了问题,sourcewriter 字段在 dede_archives 表中被损坏或清空。

解决方案:

  1. 备份数据库! 在进行任何数据库操作前,务必备份数据库。

  2. 通过phpMyAdmin等工具登录你的数据库。

  3. 找到 dede_archives 这张表。

  4. 执行一条SQL语句来检查数据,查询一篇已知文章的来源和作者:

    SELECT title, source, writer FROM dede_archives WHERE id = '你的文章ID';

    如果查询结果中 sourcewriter 字段是空的,那么说明文章发布时就没填,或者被人为修改了,如果显示为奇怪的乱码,则可能是字符集问题。

  5. 如果确认是数据问题,只能回到“原因一”的解决方案,手动去后台编辑文章,重新填写来源和作者。


总结与排查流程

当你遇到“Dede文章来源作者不显示”的问题时,请按照以下步骤进行排查:

  1. 第一步(最简单): 检查后台文章,确认“来源”和“作者”字段是否已填写,这是80%的情况。
  2. 第二步(最常见): 如果已填写,但内容页不显示,则页模板 article_article.htm,确认 {dede:field.source/}{dede:field.writer/} 标签是否存在且正确。
  3. 第三步(次常见): 如果是列表页不显示,则检查列表页模板 index.htmlist_xxx.htm,确认在 {dede:list}{dede:arclist} 循环内是否有调用来源和作者的标签。
  4. 第四步(最后手段): 如果模板和标签都正确,考虑数据库问题,但这种情况非常罕见,通常都是前几步的问题。

按照这个流程,绝大多数问题都能得到解决。

-- 展开阅读全文 --
头像
C语言如何连接SQL Server数据库?
« 上一篇 今天
织梦CMS在线客服插件怎么用?
下一篇 » 今天

相关文章

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