• 没有什么提示的

dede(织梦)更新出现:读取频道信息失败,无法进行后续操作

织梦cms 广州seo顾问 1年前 (2019-03-13) 1303次浏览 1个评论 扫描二维码

dede(织梦)更新出现:读取频道信息失败,无法进行后续操作

今天有个朋友碰到了这个问题,尝试了一系列方法,都没有得到解决,最终是通过下面这个方法解决的。

1.打开dede(你后台的目录地址)/mackhtml_archives_action.php,并找到:

while($row=$dsql->GetObject('out'))
{
    $tjnum++;
    $id = $row->id;
    $ac = new Archives($id);
    $rurl = $ac->MakeHtml($isremote);
}

把这段代码更换为

while($row=$dsql->GetObject('out'))
{
    $tjnum++;
    $id = $row->id;
    echo $id;
    echo "";
    $ac = new Archives($id);
    $rurl = $ac->MakeHtml($isremote);
}

然后在进入后台更新 ,这个时候,可以看到在“ 读取频道信息失败,无法进行后续操作! ”提示信息的上面的最后一行数字是 116。

这个时候打开dede的数据库 打开表dede_arctiny 然后发现此表中 id为 116的这条数据记录中的 ‘typeid’是71

这里说明,这个编号为71的栏目被删除了,但是删除的同时,dede并没有删除栏目下的文章,所以就出现无法读取频道信息的问题。

所以手动把此条记录删除即可。

如果这个栏目下之前发的不止是一个文章 就进入phpmyadmin(或者其他可以进入数据库的工具,按你的习惯来)执行sql语句 DELETE FROM 你的表前缀_arctiny WHERE typeid =这条错误记录的栏目id (注意, 在删除之前,要先提前备份好数据库)

然后后台在更新 就一切ok!

最后,把dede(你后台的目录地址)/mackhtml_archives_action.php 中的刚刚修改过的这段代码

while($row=$dsql->GetObject('out'))
{
    $tjnum++;
    $id = $row->id;
    echo $id;
    echo "";
    $ac = new Archives($id);
    $rurl = $ac->MakeHtml($isremote);
}

还替换为原来最初的

while($row=$dsql->GetObject('out'))
{
    $tjnum++;
    $id = $row->id;
    $ac = new Archives($id);
    $rurl = $ac->MakeHtml($isremote);
}

问题解决!如果没有解决可以在下方留言,我看到会帮助处理。


本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理

喜欢 (5)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址