DedeCMS5.6 联动类型在更改排序数字后的BUG解决办法。
版本 DEDECMS 5.6
BUG触发环境与条件:
当联动类型的最后一条记录被修改排序为非500倍数时并且不是最大排序中的最大数值时。 BUG就发生了。
例如下图环境中。 添加分类不管你怎么加。 都自动跑到分类下的子分类中了。 新建的分类枚举值将会是3900。后面再添加项目都将发生错误。
分析原因:
问题处在/dede/stepselect_main.php 的209行。
Copy to Clipboard
(此图片来源于网络,如有侵权,请联系删除! )引用的内容:[www.dede58.com]
else $disorder = $evalue = $arr['disorder'] + ($issign==1 ? 1 : 500);
分类的枚举值是通过排序值计算出来的,这应该是个逻辑错误,只要降 $arr['disorder'] 改为 $arr['evalue'] 用最大枚举值+500 就不会出问题了。
顺便提供一个已经改好的文件。不懂怎么改的直接用这个文件去覆盖就行了。
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)