15621857753

PHPCMSV9如何调用全站或指定栏目最新文章

来源:齐鲁建站 栏目:开发教程 阅读: 日期:2020-08-04

最近有客户想要修改的功能,想要调用全站最新文章以及指定栏目的文章,此人网站使用PHPCMS建站,默认是没有这个功能。那么PHPCMSV9如何调用全站或指定栏目最新文章呢。齐鲁建站小编经过研究发现一个不错的方法,整理于此给有需要的朋友。

下面就来说说phpcms调用全站文章的方法。

第一步修改phpcms\modules\content\classes目录下的content_tag.class.php文件

在最后面的}上面添加以下代码:  

publicfunctionnewcontent($data){  
$num=intval($data['limit'])?intval($data['limit']):'20';  
//设置排序  
switch($data['order']){  
case'1':  
$order='`id`ASC';  
break;  
case'2':  
$order='`id`DESC';  
break;  
case'3':  
$order='`inputtime`ASC';  
break;  
case'4':  
$order='`inputtime`DESC';  
break;  
case'5':  
$order='`updatetime`ASC';  
break;  
case'6':  
$order='`updatetime`DESC';  
break;  
default:  
$order='`id`DESC';  
}  
if($data['catid']){  
$catids=explode(',',$data['catid']);  
foreach($catidsas$catid){  
$catid=intval($catid);  
if(empty($catid))continue;  
$this->set_modelid($catid);  
$where=$this->category[$catid]['child']?'`catid`IN('.$this->category[$catid]['arrchildid'].')':"`catid`=$catid";  
$datas=$this->db->select($where,'*',$num,$order);  
$data[$catid]['data']=$datas;  
//记录本次的文章数  
$data['num'][]=count($datas);  
$model_num++;  
}  
}else{  
$models=getcache('model','commons');  
foreach($modelsas$model){  
$this->db->set_model($model['modelid']);  
$datas=$this->db->select('','*',$num,$order);  
$data[$model['modelid']]['data']=$datas;  
//记录本次的文章数  
$data['num'][]=count($datas);  
$model_num++;  
}  
}  
if($data){  
//获取每个模型应该截取的条数  
$num=ceil($num/$model_num);  
//循环条数记录用于找出条数不满足的数量然后进行平均  
$w_num=$w_num_t='';  
foreach($data['num']as$num_t){  
if($num_t<$num){  
$w_num+=$num-$num_t;  
$w_num_t++;  
}  
}  
//判断是否有不满足平均数的如果有那么就增加平均值  
if($w_num_t){  
$num+=ceil($w_num/($model_num-$w_num_t));  
}  
$datas=array();  
foreach($dataas$r){  
$r_n='';  
if(is_array($r['data']))  
foreach($r['data']as$r_t){  
$datas[]=$r_t;  
if(++$r_n==$num)break;  
}  
}  
return$datas;  
}else{  
returnfalse;  
}  
}  

第二步:模板调用  

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

{pc:contentaction="newcontent"}  

参数说明:  

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

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

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

最后提醒一下使用UTF编码的童鞋编辑文件的时候勿用记事本否则会乱码。

以上就是关于phpcms调用全站文章的所有内容,有需要的朋友可以试试,不过记得提前备份哦。

展开