zblog获取多个分类的文章,并按[最新/热门/热评]进行排序
这是zblogphp开发的一些常用代码片段的了,今天得空收集整理一下,用下面函数直接放主题文件的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');”
PHP
log_PostTime //按照时间排序;
log_CommNums //按照评论数量排序;
log_ViewNums //按照浏览数量排序;
在以前的zblog模板制作学习中我们知道DESC表示倒序,ASC表示正序,可以按照自己意愿来做排序!
本文链接:http://78moban.cn/post/9094.html
版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!