调用指定栏目或者全站的最新信息

看到有人要  好吧 那我就贡献出来前段 时间 弄得标签扩展

主要功能就是调用指定栏目或者全站的最新信息

修改方法:

第一步 修改 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条
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值