猫贝博客头像

猫贝博客

我愿奔赴大海

  • 文章4737
  • 阅读2429530

人生倒计时

  • 今日已经过去小时
  • 这周已经过去
  • 本月已经过去
  • 今年已经过去个月
首页 zblog教程 正文内容

zblog获取多个分类的文章并进行排序

猫贝哥哥 zblog教程 2023-11-11 13:43:01 874

分享一下zblog获取多个分类文章的办法,这个还是在有些情况下需要用到的。

在主题的include.php文件添加如下代码:

function 主题ID_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 = 主题ID_GetArticleCategorys(10,'1,2,3',true)  as $articles}    <li><a href="{$articles.Url}">{$articles.Title}</a></li>{/foreach}

其中10位文章调用数量,'1,2,3'为对应分类ID,多个分类ID使用逗号隔开。

若要对文章列表进行排序,可修改代码log_PostTime为如下:

log_PostTime    //按照时间排序;log_CommNums    //按照评论数量排序;log_ViewNums    //按照浏览数量排序;

排序则按照DESC与ASC来进行倒叙和正序排列即可。

广告
文章目录
    搜索