织梦dedecms在php7+环境下栏目删除失败的处理方法

PHP7+高版本环境下,织梦dedecms删除网站栏目失败。主要原因是语句书写不严谨。

处理方法

需要修改文件:include/typeunit.class.admin.php
找到函数function DelType($id, $isDelFile),修改其中
$this->idArray = '';

$this->idArray = [];
最终效果如

    function DelType($id, $isDelFile)
    {
        $this->idCounter = 0;
        $this->idArray = [];
        $this->GetSunTypes($id);

原因分析

这个$this->idArray是用来存id集合的,设计时就想用数组类型,后面也用了foreach循环读取。但是在书写代码时,不太严谨。数组类型应该定义为array()或者[],但是写的时候写成了字符串'',所以出现了删除失败的问题。

点赞