zblogPHP调用热门随机热评文章代码

zblog PHP调用热门文章、随机文章和热评文章代码,Z-Blog php版本程序的三大模块调用方法,可以通过创建include.php文件,添加函数代码后,使用GetLis一样的方法进行调用。

zblogPHP调用热门随机热评文章代码

如果主题存在include.php文件,直接在文件中添加以下代码;如果不存在include.php文件,则先创建该文件,并在主题信息文件theme.xml中的标签引用该文件,然后添加以下代码:

<?php
/**
 * 获取文章列表
 * @param int $count 数量
 * @param null $cate 分类ID
 * @param null $auth 用户ID
 * @param null $date 日期
 * @param null $tags 标签
 * @param null $search 搜索关键词
 * @param null $order 排序
 * @param null $option
 * @return array|mixed
 */
function TcgetList($count = 10, $cate = null, $auth = null, $date = null, $tags = null, $search = null, $option = null,$order=null) {
 global $zbp;
 if (!is_array($option)) {
 $option = array();
 }
 if (!isset($option['only_ontop']))
 $option['only_ontop'] = false;
 if (!isset($option['only_not_ontop']))
 $option['only_not_ontop'] = false;
 if (!isset($option['has_subcate']))
 $option['has_subcate'] = false;
 if (!isset($option['is_related']))
 $option['is_related'] = false;
 if ($option['is_related']) {
 $at = $zbp->GetPostByID($option['is_related']);
 $tags = $at->Tags;
 if (!$tags)
 return array();
 $count = $count + 1;
 }
 if ($option['only_ontop'] == true) {
 $w[] = array('=', 'log_IsTop', 0);
 } elseif ($option['only_not_ontop'] == true) {
 $w[] = array('=', 'log_IsTop', 1);
 }
 $w = array();
 $w[] = array('=', 'log_Status', 0);
 $articles = array();
 if (!is_null($cate)) {
 $category = new Category;
 $category = $zbp->GetCategoryByID($cate);
 if ($category->ID > 0) {
 if (!$option['has_subcate']) {
 $w[] = array('=', 'log_CateID', $category->ID);
 } else {
 $arysubcate = array();
 $arysubcate[] = array('log_CateID', $category->ID);
 foreach ($zbp->categorys[$category->ID]->SubCategorys as $subcate) {
 $arysubcate[] = array('log_CateID', $subcate->ID);
 }
 $w[] = array('array', $arysubcate);
 }
 }
 }
 if (!is_null($auth)) {
 $author = new Member;
 $author = $zbp->GetMemberByID($auth);
 
 if ($author->ID > 0) {
 $w[] = array('=', 'log_AuthorID', $author->ID);
 }
 }
 if (!is_null($date)) {
 $datetime = strtotime($date);
 if ($datetime) {
 $datetitle = str_replace(array('%y%', '%m%'), array(date('Y', $datetime), date('n', $datetime)), $zbp->lang['msg']['year_month']);
 $w[] = array('BETWEEN', 'log_PostTime', $datetime, strtotime('+1 month', $datetime));
 }
 }
 if (!is_null($tags)) {
 $tag = new Tag;
 if (is_array($tags)) {
 $ta = array();
 foreach ($tags as $t) {
 $ta[] = array('log_Tag', '%{' . $t->ID . '}%');
 }
 $w[] = array('array_like', $ta);
 unset($ta);
 } else {
 if (is_int($tags)) {
 $tag = $zbp->GetTagByID($tags);
 } else {
 $tag = $zbp->GetTagByAliasOrName($tags);
 }
 if ($tag->ID > 0) {
 $w[] = array('LIKE', 'log_Tag', '%{' . $tag->ID . '}%');
 }
 }
 }
 if (is_string($search)) {
 $search=trim($search);
 if ($search!=='') {
 $w[] = array('search', 'log_Content', 'log_Intro', 'log_Title', $search);
 }
 } 
 if(!empty($order)){
 if($order=='new'){
 $order = array('log_PostTime'=>'DESC');
 }
 if($order=='hot'){
 $order = array('log_ViewNums'=>'DESC');
 }
 if($order=='comm'){
 $order = array('log_CommNums'=>'DESC');
 }
 if($order=='rand'){
 $order = array('rand()'=>' ');
 }
 }
 $articles = $zbp->GetArticleList('*', $w, $order, $count, null, false);
 if ($option['is_related']) {
 foreach ($articles as $k => $a) {
 if ($a->ID == $option['is_related'])
 unset($articles[$k]);
 }
 if (count($articles) == $count){
 array_pop($articles);
 }
 }
 return $articles;
}
?>

函数调用代码:方法和官方给出的GetList一样,区别是比GetList多了一个参数条件

zblogPHP调用热门文章

{$array = TcgetList(10,null,null,null,null,null,null,'hot');}
<ul id="related">
{foreach $array as $related}
 <li><span class="time">{$related.Time('m-d')}</span><span class="title"><a href="{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li>
{/foreach}
</ul>

zblogPHP调用随机文章

{$array = TcgetList(10,null,null,null,null,null,null,'rand');}
<ul id="related">
{foreach $array as $related}
 <li><span class="time">{$related.Time('m-d')}</span><span class="title"><a href="{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li>
{/foreach}
</ul>

zblogPHP调用热评文章

{$array = TcgetList(10,null,null,null,null,null,null,'comm');}
<ul id="related">
{foreach $array as $related}
 <li><span class="time">{$related.Time('m-d')}</span><span class="title"><a href="{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li>
{/foreach}
</ul>

转载请注明出处::【风酷seo网站优化排名公司】 » zblogPHP调用热门随机热评文章代码