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