首页 > 网站 > 建站经验 > 正文

ZBLOG PHP调用随机文章、热门文章、热评文章程序

2024-08-30 19:06:47
字体:
来源:转载
供稿:网友

本文章来为各位介绍一篇关于ZBLOG PHP调用随机文章、热门文章、热评文章的例子,希望这篇教程能够为各位同学带来帮助的哦.

使用方法:

第一、在我们的主题目录中需要创建include.php文件,如果有就直接添加脚本,代码如下:

  1. /** 
  2. * 获取文章列表 
  3. * @param int $count 数量 
  4. * @param null $cate 分类ID 
  5. * @param null $auth 用户ID 
  6. * @param null $date 日期 
  7. * @param null $tags 标签 
  8. * @param null $search 搜索关键词 
  9. * @param null $order 排序 
  10. * @param null $option 
  11. * @return array|mixed 
  12. */ 
  13. function TcgetList($count = 10, $cate = null, $auth = null, $date = null, $tags = null, $search = null, $option = null,$order=null) { 
  14. global $zbp
  15.  
  16. if (!is_array($option)) { 
  17. $option = array(); 
  18.  
  19. if (!isset($option['only_ontop'])) 
  20. $option['only_ontop'] = false; 
  21. if (!isset($option['only_not_ontop'])) 
  22. $option['only_not_ontop'] = false; 
  23. if (!isset($option['has_subcate'])) 
  24. $option['has_subcate'] = false; 
  25. if (!isset($option['is_related'])) 
  26. $option['is_related'] = false; 
  27.  
  28. if ($option['is_related']) { 
  29. $at = $zbp->GetPostByID($option['is_related']); 
  30. $tags = $at->Tags; 
  31. if (!$tags
  32. return array(); 
  33. $count = $count + 1; 
  34.  
  35. if ($option['only_ontop'] == true) { 
  36. $w[] = array('=''log_IsTop', 0); 
  37. elseif ($option['only_not_ontop'] == true) { 
  38. $w[] = array('=''log_IsTop', 1); 
  39.  
  40. $w = array(); 
  41. $w[] = array('=''log_Status', 0); 
  42.  
  43. $articles = array(); 
  44.  
  45. if (!is_null($cate)) { 
  46. $category = new Category; 
  47. $category = $zbp->GetCategoryByID($cate); 
  48.  
  49. if ($category->ID > 0) { 
  50.  
  51. if (!$option['has_subcate']) { 
  52. $w[] = array('=''log_CateID'$category->ID); 
  53. else { 
  54. $arysubcate = array(); 
  55. $arysubcate[] = array('log_CateID'$category->ID); 
  56. foreach ($zbp->categorys[$category->ID]->SubCategorys as $subcate) { 
  57. $arysubcate[] = array('log_CateID'$subcate->ID); 
  58. $w[] = array('array'$arysubcate); 
  59.  
  60.  
  61.  
  62. if (!is_null($auth)) { 
  63. $author = new Member; 
  64. $author = $zbp->GetMemberByID($auth); 
  65.  
  66. if ($author->ID > 0) { 
  67. $w[] = array('=''log_AuthorID'$author->ID); 
  68.  
  69. if (!is_null($date)) { 
  70. $datetime = strtotime($date); 
  71. if ($datetime) { 
  72. $datetitle = str_replace(array('%y%''%m%'), array(date('Y'$datetime), date('n'$datetime)), $zbp->lang['msg']['year_month']); 
  73. $w[] = array('BETWEEN''log_PostTime'$datetimestrtotime('+1 month'$datetime)); 
  74.  
  75. if (!is_null($tags)) { 
  76. $tag = new Tag; 
  77. if (is_array($tags)) { 
  78. $ta = array(); 
  79. foreach ($tags as $t) { 
  80. $ta[] = array('log_Tag''%{' . $t->ID . '}%'); 
  81. $w[] = array('array_like'$ta); 
  82. unset($ta); 
  83. else { 
  84. if (is_int($tags)) { 
  85. $tag = $zbp->GetTagByID($tags); 
  86. else { 
  87. $tag = $zbp->GetTagByAliasOrName($tags); 
  88. if ($tag->ID > 0) { 
  89. $w[] = array('LIKE''log_Tag''%{' . $tag->ID . '}%'); 
  90.  
  91. if (is_string($search)) { 
  92. $search=trim($search); 
  93. if ($search!=='') { 
  94. $w[] = array('search''log_Content''log_Intro''log_Title'$search); 
  95.  
  96. if(!emptyempty($order)){ 
  97. if($order=='new'){ 
  98. $order = array('log_PostTime'=>'DESC'); 
  99. if($order=='hot'){ 
  100. $order = array('log_ViewNums'=>'DESC'); 
  101. if($order=='comm'){ 
  102. $order = array('log_CommNums'=>'DESC'); 
  103. if($order=='rand'){ 
  104. $order = array('rand()'=>' '); 
  105.  
  106. $articles = $zbp->GetArticleList('*'$w$order$count, null, false); 
  107. //Vevb.com 
  108. if ($option['is_related']) { 
  109. foreach ($articles as $k => $a) { 
  110. if ($a->ID == $option['is_related']) 
  111. unset($articles[$k]); 
  112. if (count($articles) == $count){ 
  113. array_pop($articles); 
  114.  
  115. return $articles
  116.  

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

A - 随机文章,代码如下:

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

随机10篇文章

B - 热门文章,代码如下:

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

调用10篇热门文章

C - 热评文章,代码如下:

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

调用10篇热评文章,具体的根据我们实际使用调用就可以.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表