帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  ZBLOG PHP调用随机文章、热门文章、热评文章程序

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

2016-08-04 07:36:21 6907

使用方法:

第一、在我们的主题目录中需要创建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. //phpfensi.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篇热评文章,具体的根据我们实际使用调用就可以.


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: