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()
或者[]
,但是写的时候写成了字符串''
,所以出现了删除失败的问题。