实现phpcms v9调用全站最新文章功能代码

作者:IT3C 时间: 2016-09-21 来自:网络

第一步 修改 phpcms\modules\content\classes  content_tag.class.php  在最后面的 } 上面添加
  1. public function newcontent($data){
  2. $num = intval($data['limit']) ? intval($data['limit']) : '20';
  3. // 设置排序
  4. switch($data['order']){
  5. case '1':
  6. $order = ' `id` ASC ';
  7. break;
  8. case '2':
  9. $order = ' `id` DESC ';
  10. break;
  11. case '3':
  12. $order = ' `inputtime` ASC ';
  13. break;
  14. case '4':
  15. $order = ' `inputtime` DESC ';
  16. break;
  17. case '5':
  18. $order = ' `updatetime` ASC ';
  19. break;
  20. case '6':
  21. $order = ' `updatetime` DESC ';
  22. break;
  23. default:
  24. $order = ' `id` DESC ';
  25. }
  26. if($data['catid']){
  27. $catids = explode(',', $data['catid']);
  28. foreach($catids as $catid){
  29. $catid = intval($catid);
  30. if(empty($catid))continue;
  31. $this->set_modelid($catid);
  32. $where = $this->category[$catid]['child'] ? ' `catid` IN ('.$this->category[$catid]['arrchildid'].')' : " `catid` = $catid";
  33. $datas = $this->db->select($where, '*', $num, $order);
  34. $data[$catid]['data'] = $datas;
  35. // 记录本次的文章数
  36. $data['num'][] = count($datas);
  37. $model_num++;
  38. }
  39. }else{
  40. $models = getcache('model', 'commons');
  41. foreach($models as $model){
  42. $this->db->set_model($model['modelid']);
  43. $datas = $this->db->select('', '*', $num, $order);
  44. $data[$model['modelid']]['data'] = $datas;
  45. // 记录本次的文章数
  46. $data['num'][] = count($datas);
  47. $model_num++;
  48. }
  49. }
  50. if($data){
  51. // 获取每个模型应该截取的条数
  52. $num = ceil($num/$model_num);
  53. // 循环条数记录用于找出条数不满足的数量然后进行平均
  54. $w_num = $w_num_t = '';
  55. foreach($data['num'] as $num_t){
  56. if($num_t < $num){
  57. $w_num += $num-$num_t;
  58. $w_num_t++;
  59. }
  60. }
  61. // 判断是否有不满足平均数的 如果有那么就增加平均值
  62. if($w_num_t){
  63. $num += ceil($w_num/($model_num-$w_num_t));
  64. }
  65. $datas = array();
  66. foreach($data as $r){
  67. $r_n = '';
  68. if(is_array($r['data']))
  69. foreach($r['data'] as $r_t){
  70. $datas[] = $r_t;
  71. if(++$r_n == $num)break;
  72. }
  73. }
  74. return $datas;
  75. }else{
  76. return false;
  77. }
  78. }

第二步:模板调用  

其实就和默认的文章列表调用差不多

{pc:content action="newcontent" }

参数说明:


catid: 可有可无  加了就只调用指定栏目的信息  多个栏目请使用英文半角的 ,间隔

order:排序 参数值:1-7  具体的含义在代码里面很容易看明白 不祥述

num:调用数量  不指定默认调用20条

最后提醒一下使用UTF8编码的童鞋  编辑文件的时候勿用记事本 否则会乱码(推荐editplus)

我顶 共有 个朋友支持责任编辑:webs.wiki

上一篇:phpcms v9全站排行榜,收藏量统计查询代码
下一篇:返回列表

相关文章
无相关信息

相关评论共有条评论

注意:请您文明上网、理性发言并遵守相关规定

您可以选择注册或匿名发表评论

用户名: 密码:

验证码: 匿名发表

查看评论 留言须知