>极客内参 > 技术 > 正文

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

最近有客户想要修改的功能,想要调用全站最新文章以及指定栏目的文章,此人网站使用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调用全站文章的所有内容,有需要的朋友可以试试,不过记得提前备份哦。


企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

Baidu
map