DEDECMS dede:list 按权重(weight)排序

之前一直使用的都是科讯CMS,这几天一直使用的是DEDECMS做医疗网站,今天领导突然说专家要排序(也就是制定某个专家在前面),知道dedecms有orderby='weight'这个功能!于是我的标签这么写:{dede:list pagesize='9' orderby='weight'}。问题来了,无论我后台如何更新,专家们的顺序始终无动于衷,于是查询了相关的资料得知:

orderby='weight'可以实现文档按照权重进行排序,但是只适用于arclist标签,arclist标签是可以用在任何位置来调用文档列表的,而现在我要使用的却是:dede:list 标签,于是权重排序(orderby='weight')也就无用武之地了!哎!原来织梦dedecms对权重weight排序的支持仅arclist标签,并不支持list标签;看来只能对dedecms织梦系统的改造,让它支持list标签权重weight排序:

首先找到include/arc.listview.class.php文件,打开文件并查找“else if($orderby=="lastpost") {”语句,大概在609行,在结尾回车并插入
else if($orderby=="weight") {
$ordersql = " order by arc.weight $orderWay";
}

继续查找“if(ereg('hot|click|lastpost',$orderby))”语句,修改为:if(ereg('hot|click|weight|lastpost',$orderby)) 即可实现dede:list 按权重(weight)排序了!更新下后台看看吧!

参与评论