为什么想要按pubdate排序?
pubdate的值可以在发布、编辑文章时修改(即“发布时间”),比senddate灵活。
dedecms不支持按pubdate排序
在列表页模板,即使你指定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)) // { ... }
呵呵,谢谢
VaTG790i.最好的<a href=http://www.kyfei.com>网站推广软件</a>,
非常好
....................
;ui;普i;uighur;ui;ui;个
在unix网络编程中看到了关于TCP/IP的一些内容,我感觉还是写的不够。正在下载中,一定
下载地址呢