Z-blog php调用评论最多文章和阅读最多文章:使用GetArticleList来获取热门文章/阅读浏览数最多的文章列表
今天有博友问我是否能够实现调用阅读最多的文章和评论最多的文章,而且提出不要购买插件之类的,其实是很简单的。实现这类功能主要使用GetArticleList来获取热门文章(阅读浏览数最多的文章列表)。
具体可看下面代码:
{$hotArray = $zbp->GetArticleList(array('*'),array(array('=','log_Status','0')),array('log_ViewNums'=>'DESC'),array(10),'');}
<ul>
{foreach $hotArray as $article}
<li><a href="{$article.Url}" title="{$article.Title}">{$article.Title}</a></li>
{/foreach}
</ul>
GetArticleList函数里面倒数第2个array里面的10为数量,需要调用多少篇热门文章就写多少。
注意:以上代码为获取整站所有文章的浏览阅读数最多的10篇文章。
既然能够实现调用阅读最多的文章,那么稍微变化一下就可以实现调用评论最多的文章了。代码大体上和调用阅读浏览数最多的文章一样,只是需要修改1个参数即可。
具体代码如下:
{$commArray = $zbp->GetArticleList(array('*'),array(array('=','log_Status','0')),array('log_CommNums'=>'DESC'),array(10),'');}
<ul>
{foreach $commArray as $article}
<li><a href="{$article.Url}" title="{$article.Title}">{$article.Title}</a></li>
{/foreach}
</ul>
第1行GetArticleList函数中倒数第2个参数array中的10为数量,需要多少篇热评文章就写多少。
那么,举一反三,我们可以再更灵活的运用一下,签名的方法调用的是整站所有文章的评论数最多的前10篇文章。其实稍微改变一下,可以做到调用指定时间内的热评文章,代码如下:
{php}
$stime = time();
$ytime = 30*24*60*60;
$ztime = $stime-$ytime;
$order = array('log_CommNums'=>'DESC');
$where = array(array('=','log_Status','0'),array('>','log_PostTime',$ztime));
$dayHotArticle = $zbp->GetArticleList(array('*'),$where,$order,10,'');
{/php}
{foreach $dayHotArticle as $articles}
<li><a href="{$articles.Url}" title="{$articles.Title}">{$articles.Title}</a></li>
{/foreach}
其中第3行里面的“30”为天数,指的是30天内评论数最多的文章;第7行GetArticleList函数里面的倒数第2个参数10为数量,需要多少篇热评文章就写多少。
评论专区