织梦按照权重排序的解决方法

使用的织梦版本是最新的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

发表评论

邮箱地址不会被公开。 必填项已用*标注