DEDECMS列表页文章按权重排序的实现方法

本文实例讲述了DEDECMS列表页文档按权重排序的实现方法。分享给大家供大家参考。具体实现方法如下:

1、在list_artcile.htm模板中使用:

代码如下:
{dede:list pagesize='12' orderby='weight' orderway='asc'}
即在列表中使用 orderby='weight' orderway='asc'这两个参数,缺一不可。

2、然后修改include目录下的arc.listview.class.php

查找:

else if($orderby=="lastpost
会找到如下代码:

//排序方式
$ordersql = '';
if($orderby=="senddate" || $orderby=="id") {
$ordersql=" order by arc.id $orderWay";
} else if($orderby=="hot" || $orderby=="click"){
$ordersql = " order by arc.click $orderWay";
} else if($orderby=="lastpost") {
$ordersql = " order by arc.lastpost $orderWay";
} else {
$ordersql=" order by arc.sortrank $orderWay";
}

在下面加入以下代码:

else if($orderby=="weight") {
$ordersql = " order by arc.weight $orderWay";
}

加入代码后成为这样:

//排序方式
$ordersql = '';
if($orderby=="senddate" || $orderby=="id") {
$ordersql=" order by arc.id $orderWay";
} else if($orderby=="hot" || $orderby=="click"){
$ordersql = " order by arc.click $orderWay";
} else if($orderby=="lastpost") {
$ordersql = " order by arc.lastpost $orderWay";
} else if($orderby=="weight") {
$ordersql = " order by arc.weight $orderWay";
} else {
$ordersql=" order by arc.sortrank $orderWay";
}

3、同样是这个文件的修改

查找hot|click

找到if(ereg('hot|click|lastpost',$orderby))这行并改为:

if(ereg('hot|click|weight|lastpost',$orderby))

上面三个步骤,即可实现列表页内容按权重排序,越小越靠前.

评论

大侠名号:   验证暗号: 点击我更换图片

修远兮

在这里记录每一点自己需要的知识

添加创始人微信,一起交流心得

推荐文章RECOMMEND