一聚教程网:一个值得你收藏的教程网站

热门教程

织梦CMS让列表页按文章的更新日期pubdate排序

时间:2022-06-25 16:24:51 编辑:袖梨 来源:一聚教程网

注意:

在列表页模板,即使你指定orderby='pubdate',但实际还是不是按照pubdate排序的(通过下文可知它是按sortrank排序的)。

解决办法

include/arc.listview.class.php  600行左右如下:

 代码如下 复制代码
//排序方式 
$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"; 

 
可以看到当$orderby为"pubdate"时,排序依据变为$ordersql=" order by arc.sortrank $orderWay";
需要修改两个地方:

修改1)接受pubdate排序方式。

 代码如下 复制代码

//排序方式 

$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"; 

// add by redice 
// fix "order by pubdate" bug 
else if($orderby=="pubdate") 

    $ordersql = "  order by arc.pubdate $orderWay"; 

// end add 
else { 
    $ordersql=" order by arc.sortrank $orderWay"; 

修改2)直接查询archives表(查询arctiny虽然快,但是可惜arctiny表没有pubdate字段),修改include/arc.listview.class.php 650行左右。

 

 代码如下 复制代码

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

... 

修改为

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

... 

热门栏目