在zblogphp网站中,在相应的主题模板文件中,通过对GetList函数相关设置和应用,可以获取自定义的文章列表,比如置顶文章、指定分类的最新文章等等。

GetList函数介绍

下面分别介绍该函数的基本语法、调用参数、option及返回值,有关GetList函数的调用,请查看本文后面示例运用中的范例!

GetList语法:

Array GetList($count = 10, $cate = null, $auth = null, $date = null, $tags = null, $search = null, $option = null)

请注意:GetList函数的中的首字母G和L必须是大写,否则该函数无效。

调用参数

参数类型参数默认值描述
int$count10提取条数
int$catenull分类ID
int$authnull用户ID
string$datenull时间
mixed$tagsnull标签ID、名称或者标签数组
string$searchnull搜索关键字
array$optionnull附加选项

参数说明

tags

tags参数允许使用三种类型:int,string,array


参数类型示例
int2
string“abc”
arrayArray(
[0] ⇒ Tag Object0,
[1] ⇒ Tag Object1
)


option

option参数可指定更多配置选项,参考如下

$option = array (
    "only_ontop"  => true //
    "only_not_ontop"  => true
    "has_subcate"  => true  //输出子分类文章
    "is_related"  => $article->ID //输出与指定文章具有相同tag的文章列表,剔除指定ID的文章,如当前文章ID($article->ID));

返回值

返回指定的文章列表数组,默认返回10条最近发表的文章,结构如下:

Array(
      [0] => Post对象0   
      [1] => Post对象1
      [2] => Post对象2
      [3] => Post对象3
      ......
      [n-1] => Post对象n-1
     )

GetList示例应用

示例1、获取10条最近发表的文章

GetList(10);

以上代码在zblogphp模板文件中添加获取,并输出最新10条文章列表的调用代码如下:

{foreach GetList(10) as $newlist}
    <li>
    <a href="{$newlist.Url}" title="{$newlist.Title}">{$newlist.Title}</a>
    </li>{/foreach}

其中,数字10为文章列表条数,也可以省略不写,也表示是调用10条最近发表的文章,因为该函数第一个参数默认的就是10,留空就表示是默认值10!

示例2、获取分类ID为3下的10条最近发表的文章

GetList(10,3);

模板中循环调用完整代码如下:

{foreach GetList(10,3) as $newlist}
    <li>
    <a href="{$newlist.Url}" title="{$newlist.Title}">{$newlist.Title}</a>
    </li>{/foreach}

代码中的10为调用文章的数量,3为分类ID,想要调用哪一个分类栏目下的文章列表,就填写相应的分类ID数字即可!

示例3、获取tag标签下的文章列表

1、获取文章中使用标签ID=1的文章列表

GetList(10,null,null,null,array($zbp->GetTagByID(1)));

模板中循环调用完整代码如下:

{$array=GetList(10,null,null,null,array($zbp->GetTagByID(1)))}
{foreach $array as $related}
<li><a href={$related.Url} target="_blank">{$related.Title}</a></li>
{/foreach}

在上面代码中,数字10是调用文章的数量,而$zbp->GetTagByID(1)中的数字1,则表示的是标签ID;在zblogphp后台的标签管理中,可以查看每一个标签名对应的标签ID数字是多少。

2、获取文章中使用标签名=“zblog”的文章列表

GetList(10,null,null,null,array($zbp->GetTagByAliasOrName('zblog')));

在模板中循环调用的完整代码

{$array=GetList(10,null,null,null,array($zbp->GetTagByAliasOrName('zblog')))}
{foreach $array as $related}
<li><a href={$related.Url} target="_blank">{$related.Title}</a></li>
{/foreach}

其中,GetTagByAliasOrName('zblog')中的标签名“zblog”可以替换成其他任何标签名!

示例4、搜索正文或标题内容里含有'abc'的10条文章

$array=GetList(10,null,null,null,null,'abc');

abc表示的是被搜索的关键词,你可以按照你的需要替换成其他关键词

模板中循环调用的完整代码如下:

{$array=GetList(10,null,null,null,null,'abc')}
{foreach $array as $related}
<li><a href={$related.Url} target="_blank">{$related.Title}</a></li>
{/foreach}

示例5、搜索$article的相关文章(ZC_RELATEDLIST_COUNT选项默认为10)

$array=GetList($zbp->option['ZC_RELATEDLIST_COUNT'],null,null,null,null,null,array('is_related'=>$article->ID));

在模板中循环调用的完整代码如下:

{$array=GetList($zbp->option['ZC_RELATEDLIST_COUNT'],null,null,null,null,null,array('is_related'=>$article->ID));}
{foreach $array as $related}  
  <li><a href="{$related.Url}"title="{$related.Title}">{$related.Title}</a></li>
  {/foreach}

示例6、调用置顶文章列表

$topArticles = GetList(10, null, null, null, null, null, array("only_ontop"  => true));}

在模板中调用的完整代码如下:

{$topArticles = GetList(10, null, null, null, null, null, array("only_ontop"  => true));}
<ul>
{foreach $topArticles as $top}
  <li><a href="{$top.Url}" title="{$top.Title}" target="_blank">{$top.Title}</a></li>
  {/foreach}
  </ul>

其中GetList后面括号里面的10为数量,需要调用多少篇指定文章就写多少。(如果有的话)