正务库

ZBlog如何调用某分类下某(指定)作者的文章

时间:2年前   游览量:305    标签: nbsp    39    文章    代码    需要    gt   

ZBlog调用某指定分类下的文章代码大家可以参考ZBlogPHP两种方法获取文章列表的代码这篇文章中的开发教程,直接使用GetList()函数即可解决;如果再加上一个限制呢?ZBlog获取某分类下指定某作者的文章该怎么写代码呢?

这时就需要我们重新组装数据库查询语句了,具体代码如下:

$w=array();
$w[]=array('=','log_CateID','12');//分类ID 12
$w[]=array('=','log_AuthorID','1');//作者ID 1
$w[]=array('=','log_Status','0');//普通文章
$order=array('log_PostTime' => 'DESC');
$array=$zbp->GetArticleList(
    '',
    $w,
    $order,
    array(5),//5篇文章
    null,
    false
);
{foreach $array as $article}
<li><a href="{$article.Url}">{$article.Tile}</a></li>
{/foreach}


复制以上内容直接到模板需要的位置即可,CSS需要自行调整或跟随主题默认。也可以封装为一个方法,然后放到include.php文件中,需要时直接调用此方法即可,形式如下:

function themeol_CateAuthPost($cateID,$AuthID,$Num){
    $w=array();
    $w[]=array('=','log_CateID',$cateID);//分类ID---单独不加这句条件,则表示获取某作者的文章
    $w[]=array('=','log_AuthorID',$AuthID);//作者ID---单独不加这句条件,则表示获取某分类下的文章,和GetList()函数异曲同工
    $w[]=array('=','log_Status','0');//普通文章
    $order=array('log_PostTime' => 'DESC');
    $array=$zbp->GetArticleList(
        '',
        $w,
        $order,
        array((int)$Num),//文章数量
        null,
        false
    );
}


接着到需要调用本函数的位置中写入下方代码:

{foreach themeol_CateAuthPost(12,1,5) as $article}
<li><a href="{$article.Url}">{$article.Tile}</a></li>
{/foreach}