作为verycms的fans之一,怎能不作一点点贡献以表达我的忠诚呢。
verycms是我最早使用的一款cms系统,他的模板功能确实很简单很实用,尤其他的模板可以解析PHP脚本,这就可以增加一些复杂的调用了。
这回我来教大家如何调用当日最热点击和本月最热点击,实际上原理很简单,找出时间段的文章,然后按点击数降序排序。现在分解教学,一步一步来:
一、实现按点击数排序
这个很简单,找到获取文章数组的语句,比如这句:$array=$cms::thread(”num:10;mid:1;”);
要想实现按点击数排序,只要增加查询条件即可,即增加sql里的order,如何实现呢?把$array获取方式修改成:$array=$cms::thread(”num:10;mid:1;order:hits DESC;”);
二、实现按当日点击数排序
有了第一步的基础,要实现按当日点击数排序,只需解决另外一个问题:如何把文章筛选为当天发布的文章?当天,比如今天就是2008-07-22 00:00:00,我们要获取这个时间的时间戳(什么是时间戳,这个不作解析,你想了解的google一下),我们用PHP一个函数strtotime来达到目的:
strtotime(’2008-07-22 00:00:00′);这样是否正确,如果是今天的就是,但到明天的话那就惨了,所以正解应该这样:strtotime(date(”Y-m-d”));动态的获取时间。有了这个认识,我们来看看$array如何获取文章,方法也很简单,看看下面的语句就可以:
$today = strtotime(date(”Y-m-d”));
$array=$cms::thread(”num:10;mid:1;where:postdate>$today ;order:hits DESC;”);
三、实现按本月点击数排序
有了第二步的思想,那么实现按本月点击数排序也就变更很空易了,学是想办法得到当月1号零时零分零秒的时间戳,我也不再罗嗦了,把代码贴出来大家看看就知道:
$first_day_of_month = strtotime(date(”Y-m-01″));//这里有01就表示是当月第一天了。
$array=$cms::thread(”num:10;mid:1;where:postdate>$first_day_of_month ;order:hits DESC;”);
希望这篇文章对刚刚接触verycms的你会有所帮助。
文章源地址:http://www.4studio.cn/blog/?p=293