DedeCMS5.6 聯(lián)動(dòng)類型在更改排序數(shù)字后的BUG解決辦法。
版本 DEDECMS 5.6
BUG觸發(fā)環(huán)境與條件:
當(dāng)聯(lián)動(dòng)類型的最后一條記錄被修改排序?yàn)榉?00倍數(shù)時(shí)并且不是最大排序中的最大數(shù)值時(shí)。 BUG就發(fā)生了。
例如下圖環(huán)境中。 添加分類不管你怎么加。 都自動(dòng)跑到分類下的子分類中了。 新建的分類枚舉值將會(huì)是3900。后面再添加項(xiàng)目都將發(fā)生錯(cuò)誤。
分析原因:
問題處在/dede/stepselect_main.php 的209行。
分類的枚舉值是通過排序值計(jì)算出來(lái)的,這應(yīng)該是個(gè)邏輯錯(cuò)誤,只要降 $arr['disorder'] 改為 $arr['evalue'] 用最大枚舉值+500 就不會(huì)出問題了。
順便提供一個(gè)已經(jīng)改好的文件。不懂怎么改的直接用這個(gè)文件去覆蓋就行了。
下載地址:stepselect_main.rar