使用的织梦版本是最新的DEDE5.7
,发现这个这个版本的按照权重排序,没有效果。解决分方法添加一行代码就可以解决。下面给出具体的解决方法。
修改的文件是 /include/taglib/arclist.lib.php
, 添加的代码是
//功能:增加按好评数和差评数调用
else if($orderby == 'goodpost') $ordersql = " order by arc.goodpost $orderWay";
else if($orderby == 'badpost') $ordersql = " order by arc.badpost $orderWay";
else if($orderby == 'rand') $ordersql = " ORDER BY rand()";
// !!!下面这行是需要添加的代码
else if($orderby == 'weight') $ordersql = " ORDER BY arc.weight $orderWay";
else $ordersql = " ORDER BY arc.sortrank $orderWay";
测试效果
首先建立三篇文章,名字分别是1,2,3。 对应的权重页是 12,3。
调用的标签
{dede:arclist typeid='1' orderby='weight' orderway='desc'}
[field:title/]
{/dede:arclist}
显示的结果 321
调用的标签
{dede:arclist typeid='1' orderby='weight' orderway='asc'}
[field:title/]
{/dede:arclist}
显示的结果 123