聚热点 juredian

ZBLOG PHP调用随机文章、热门文章、热评文章脚本方法

在定制ZBLOG PHP模板的过程中,可能有需要用到调用随机文章和热门文章等解决方法,这里老蒋有看到@唐朝同学博客中有这样的脚本整理。我这边也转载过来,下次有使用的时候再测试实用性,如果有问题在进行更新。

使用方法:

第一、在我们的主题目录中需要创建include.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;

}

然后就是在我们需要的界面模板中调用。

A - 随机文章

{$array=TcgetList(10,null,null,null,null,null,null,"rand");}

{/foreach}


随机10篇文章

B - 热门文章

{$array=TcgetList(10,null,null,null,null,null,null,"hot");}

{/foreach}


调用10篇热门文章

C - 热评文章

{$array=TcgetList(10,null,null,null,null,null,null,"comm";}

{/foreach}


调用10篇热评文章。

具体的根据我们实际使用调用就可以。

搜索建议:
热文

 寿司该如何制作?

咸蛋黄寿司让寿司饭卷好吃的秘诀是咸蛋黄,米饭也不用调味,里面甭管配什么蔬菜,像胡萝卜青菜梗之类孩子不喜欢吃的 尽可以加,它们的味道都会被咸蛋黄霸气占领,很好吃。...(展开)

热文

 【歌词】残酷青春 / 歌手:AK...

歌曲:青春真残酷歌手:黄立行专辑:你身边思念都不值钱我们有太多从前 太少时间恨不得不用睡眠让岁月溜过我的皮肤让时间忘记了孤独让荧幕找到了节目生日快乐吹过的蜡烛多...(展开)