国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > DedeCMS > 解决Dede5.6联动类型更改排序数字的BUG

解决Dede5.6联动类型更改排序数字的BUG

来源:程序员人生   发布时间:2014-02-08 09:20:57 阅读次数:2932次

DedeCMS5.6 联动类型在更改排序数字后的BUG解决办法。

版本 DEDECMS 5.6

BUG触发环境与条件:

当联动类型的最后一条记录被修改排序为非500倍数时并且不是最大排序中的最大数值时。 BUG就发生了。

例如下图环境中。 添加分类不管你怎么加。 都自动跑到分类下的子分类中了。 新建的分类枚举值将会是3900。后面再添加项目都将发生错误。

解决Dede5.6联动类型更改排序数字的BUG

分析原因:

问题处在/dede/stepselect_main.php 的209行。

else $disorder = $evalue = $arr['disorder'] + ($issign==1 ? 1 : 500);

分类的枚举值是通过排序值计算出来的,这应该是个逻辑错误,只要降 $arr['disorder'] 改为 $arr['evalue'] 用最大枚举值+500 就不会出问题了。

顺便提供一个已经改好的文件。不懂怎么改的直接用这个文件去覆盖就行了。

下载地址:stepselect_main.rar

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生