原文来自:https://www.zixuephp.com
dede 列表页按照文章权重排序
dedecms v5.7版本已经中已经添加权重字段,并且在{dede:arclist标签中默认可以使用(5.7中的{dede:arclist}也已经可以使用),但在列表页的标签 {dede:list中是还是无法按权重实现排序,v5.7中,{dede:list}也可以这样改.
解决方法:
1、打开\include\目录中的arc.listview.class.php文件,搜索“排序方式”,然后在:
- elseif($orderby=="lastpost"){
- $ordersql="orderbyarc.lastpost$orderWay";
- }
- //这段代码和
- else{
- $ordersql="orderbyarc.sortrank$orderWay";
- }
- //这段代码中间粘贴上
- elseif($orderby=='weight')$ordersql="orderbyarc.weightasc";
找到:if(preg_match('hot|click|lastpost',$orderby))
修改成:if(preg_match('hot|click|lastpost|weight',$orderby))
保存文件,这个时候在列表页里就可以使用.
{dede:list pagesize='5' orderby='weight' orderway="asc"}
进行排序了.