第一步 修改 phpcms\modules\content\classes content_tag.class.php 在最后面的 } 上面添加

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

 第二步:模板调用

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

{pc:content action="newcontent" }

参数说明:

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

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

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

最后提醒一下: 编辑文件的时候勿用记事本 否则会乱码(推荐Notepad++),我自己在复制代码的时候喜欢粘到记事本上,再粘回去,出的问题都是莫名奇妙的,不是不能更新缓存就是不能生成首页的。