dede安装还原后栏目不显示,怎么办?

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

核心原因分析

最根本的原因是:数据库里的栏目信息,与服务器上实际存放栏目封面、列表等内容的物理路径不匹配。

dede 安装还原后不显示栏目
(图片来源网络,侵删)

当你使用“安装”或“还原”功能时,你通常是导入了一个在其他服务器上导出的数据库,那个数据库里的路径是旧服务器的路径(/home/wwwroot/abc.com/),而你的新服务器路径是 /var/www/html/D:/wwwroot/xyz.com/,DedeCMS 找不到路径,所以就不显示栏目了。


第一步:检查并修正核心网站参数(90%的解决方案)

这是最重要的一步,请务必仔细操作。

  1. 登录DedeCMS后台

    用你的管理员账号登录网站的后台管理界面。

    dede 安装还原后不显示栏目
    (图片来源网络,侵删)
  2. 进入“系统” -> “系统基本参数”

    在后台左侧菜单栏找到“系统”选项,点击它,然后在下拉菜单中选择“系统基本参数”。

  3. 检查“站点设置”

    • 在“站点信息”这一栏,重点检查以下两项:
      • 网站根目录 (cfg_cmspath)
        • 当前值: 检查这里的路径是否是你当前服务器上DedeCMS程序的实际存放路径,如果你的网站在 D:\wwwroot\mydede,那么这里就应该填 D:\wwwroot\mydede
        • 修正: 如果路径不正确,请修改为正确的绝对路径。注意: Windows系统用反斜杠 \,Linux系统用正斜杠 。
      • 网站首页 (cfg_indexurl)
        • 当前值: 检查这里的网址是否是你当前网站的域名。http://www.yourdomain.com/https://www.yourdomain.com/
        • 修正: 如果域名或协议(http/https)不正确,请修改过来。
  4. 检查“核心设置”

    • 向下滚动页面,找到“核心设置”部分。
    • 附件目录 (cfg_attachmentdir)
      • 当前值: 检查上传的图片、附件等存放的路径,这个路径可以是绝对路径,也可以是相对于网站根目录的路径(如 /uploads),确保这个目录存在并且有写入权限。
    • 模板默认风格 (cfg_df_style)
      • 当前值: 确保这里填写的模板文件夹存在于 /templets/ 目录下,如果这里填 default/templets/default/ 目录必须存在。
  5. 保存并刷新

    • 修改完所有必要的参数后,点击页面底部的“保存”按钮。
    • 保存成功后,清空浏览器缓存,然后刷新你的网站前台页面,看看栏目是否正常显示了。

第二步:如果第一步无效,检查栏目本身

如果修正了基本参数后栏目仍然不显示,问题可能出在栏目的具体设置上。

  1. 登录后台,进入“栏目管理”

    在后台左侧菜单找到“栏目”选项,点击进入“栏目管理”页面。

  2. 检查栏目列表

    • 查看栏目状态: 在栏目列表中,检查每个栏目的“状态”列,如果状态是“未审核”或“禁用”,前台就不会显示,点击“更改”将其设为“正常”。
    • 检查栏目类型: 确保栏目的类型是“栏目首页”或“外部链接”,而不是“单页文档”(单页文档通常不显示在主导航栏)。
    • 检查上级栏目: 确保没有把栏目错误地放在一个“未审核”或“禁用”的父栏目下。
  3. 检查单个栏目属性

    • 点击任意一个不显示的栏目名称,进入其编辑页面。
    • 栏目名称: 确保名称不为空。
    • 栏目文件名: 确保文件名填写正确,并且没有使用特殊字符。
    • 切换到“栏目内容”选项卡,确保这里填写了内容(即使是简单的几句话),因为很多模板会调用这里的内容作为栏目简介。
    • 栏目列表选项: 切换到“栏目列表选项”卡,确保“列表模板”选择了正确的模板文件(如 list_article.htm),并且该模板文件存在于你的模板目录中。
    • 保存: 检查无误后,点击“保存”按钮。

第三步:检查模板文件

如果栏目管理里一切正常,但前台依然不显示,很可能是模板文件出了问题。

  1. 检查模板文件是否存在

    • 进入后台的“模板” -> “模板管理”。
    • 找到你当前使用的模板(default)。
    • 检查 list_*.htm(列表模板)和 index.htm(首页模板)文件是否存在,如果栏目使用了特定的模板,确保那个模板文件也存在。
    • 你也可以直接通过FTP或服务器的文件管理器,去 /templets/你的模板目录/ 下查看这些文件是否存在。
  2. 检查模板标签

    • 打开首页模板 index.htm,检查调用栏目的标签是否正确。
    • 最常用的栏目调用标签是:
      {dede:channel type='top' row='8'}
      <a href='[field:typelink/]'>[field:typename/]</a>
      {/dede:channel}
    • 检查这个标签是否被完整地包含在 {dede:...}{/dede:...} 之间,并且没有拼写错误。
  3. 重新生成HTML

    • 数据库更新了,但前台静态文件没有更新。
    • 在后台找到“生成”菜单。
    • 点击“一键更新网站”,或者分别执行“更新主页HTML”、“更新栏目HTML”、“更新文档HTML”,这个过程会重新生成所有静态页面,确保数据是最新的。

第四步:检查数据库和目录权限

如果以上所有步骤都无效,我们需要考虑更深层次的问题。

  1. 检查数据库连接

    • 打开DedeCMS根目录下的 data/common.inc.php 文件。
    • 检查里面的数据库信息($cfg_dbhost, $cfg_dbname, $cfg_dbuser, $cfg_dbpwd)是否与你的新服务器数据库信息完全一致,一个字符都不能错。
  2. 检查目录权限

    • 通过FTP或SSH登录你的服务器。
    • 确保DedeCMS安装目录下的以下目录具有可写权限(通常是 755777777有安全风险,建议先用 755):
      • /data/ (非常重要,存放配置文件)
      • /uploads/ (存放上传文件)
      • /templets/你的模板目录/ (存放模板文件,如果开启了模板编译)
      • /special/ (专题目录)
      • /html/ (存放生成的静态文件)
    • 权限不足会导致程序无法写入配置、生成文件,从而引发各种奇怪的问题。

总结与最终建议

排查步骤 解决方案
第一步 系统基本参数 修正 网站根目录网站首页 的路径为当前服务器的信息。
第二步 栏目管理 检查栏目状态是否为“正常”,上级栏目是否正常,栏目内容是否填写。
第三步 模板文件 检查模板文件是否存在,调用栏目的标签是否正确,并重新生成HTML。
第四步 数据库与权限 检查 common.inc.php 中的数据库连接信息,确保关键目录有写入权限。

按照这个流程,从上到下逐一排查,你几乎一定能找到问题所在,对于绝大多数“还原后不显示栏目”的问题,第一步修正系统参数 就能解决,祝你成功!

-- 展开阅读全文 --
头像
c语言readconfig
« 上一篇 01-03
织梦UCenter配置时如何实现数据互通?
下一篇 » 01-03

相关文章

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

目录[+]