zblog获取多个分类的文章,并按[最新/热门/热评]进行排序
zblog获取多个分类的文章,并按[最新/热门/热评]进行排序,这是zblog模板制作时常用功能代码。
第一:用下面函数直接放主题文件的include.php
function zblogsm_GetArticleCategorys($Rows,$CategoryID,$hassubcate){ global $zbp; $ids = strpos($CategoryID,',') !== false ? explode(',',$CategoryID) : array($CategoryID); $wherearray=array(); foreach ($ids as $cateid){ if (!$hassubcate) { $wherearray[]=array('log_CateID',$cateid); }else{ $wherearray[] = array('log_CateID', $cateid); foreach ($zbp->categorys[$cateid]->SubCategorys as $subcate) { $wherearray[] = array('log_CateID', $subcate->ID); } } } $where=array( array('array',$wherearray), array('=','log_Status','0'), ); $order = array('log_PostTime'=>'DESC'); $articles= $zbp->GetArticleList(array('*'),$where,$order,array($Rows),''); return $articles; }
第二前端调用方法:
{foreach $array=zblogsm_GetArticleCategorys($num,'$id1,$id2,$id3',true) as $articles} <li><a href="{$articles.Url}" target="_blank">{$articles.Title}</a></li> {/foreach}
其中$num代表数量,$id1这些表示分类id,这些可以是具体写死的数值,也可以配合后台指定数据来做到后台可配,值得一提的是,我们可以修改函数中的“array('log_PostTime'=>'DESC');”
log_PostTime //按照时间排序; log_CommNums //按照评论数量排序; log_ViewNums //按照浏览数量排序;
在以前的zblog模板制作学习中我们知道DESC表示倒序,ASC表示正序,可以按照自己意愿来做排序!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
仍然有问题? 我们要如何帮助您?