简介默认情况下,PHPCMSV9后台的推送指定文章到指定栏目相当于给指定栏目添加这些指定的外链文章(点击这些外链文章,跳转的页面地址还是原文章的地址),通常这样就能满足我们的“复制”文章需求。有些朋友可能会发现,如果要复制的文章的模型有自定义字段,使用后台的推送到指定栏目功能,“复制”过去的文章在编辑的时候,自字义字段显示为空。其实这也是正常现象,因为上面咱们也说了,这样“复制”的文章,毕竟是外链,没
默认情况下,PHPCMS V9后台的推送指定文章到指定栏目 相当于 给指定栏目添加这些指定的外链文章(点击这些外链文章,跳转的页面地址还是原文章的地址),通常这样就能满足我们的“复制”文章需求。
有些朋友可能会发现,如果要复制的文章的模型有自定义字段,使用后台的推送到指定栏目功能,“复制”过去的文章在编辑的时候,自字义字段显示为空。其实这也是正常现象,因为上面咱们也说了,这样“复制”的文章,毕竟是外链,没必要要内容和一些自定义字段信息。
那如果想实现真正意义上的复制文章到指定栏目中呢?(”复制“的文章不是外链文章,内容和自定义字段都要可以复制过去),现在就说下方法:(注:此方法只适用于复制指定文章到同模型的指定栏目中,模型不同一般字段不同,字段都不同,想把自定义字段复制哪去?)
直接在原来推送文章到指定栏目的功能基础上修改:打开 phpcmsmodulescontentclassespush_api.class.php 文件,查找 foreach($id_arr as $id) { 将下面的:
$r=$this->db->get_one(array('id'=>$id));$ url=preg_match('/^http:///',$r['url'])?$r['url']:siteurl($siteid).$r['url'];foreach($idsas$catid){$siteid=$siteids[$catid];$this->categorys=getcache('category_content_'.$siteid,'commons');$modelid=$this->categorys[$catid]['modelid'];$this->db->set_model($modelid);$newid=$this->db->insert(array(' '=>$r[' '],'style'=>$r['style'],'thumb'=>$r['thumb'],'keywords'=>$r['keywords'],'de ion'=>$r['de ion'],'status'=>$r['status'],'catid'=>$catid,'url'=>$ url,'sysadd'=>1,'username'=>$r['username'],'inputtime'=>$r['inputtime'],'updatetime'=>$r['updatetime'],'is '=>1),true);$this->db->table_name=$this->db->table_name.'_data';$this->db->insert(array('id'=>$newid));$hitsid='c-'.$modelid.'-'.$newid;$this->hits_db->insert(array('hitsid'=>$hitsid,'catid'=>$catid,'updatetime'=>SYS_TIME));}
替换为:
$r1=$this->db->get_one(array('id'=>$id));$this->db->table_name=$this->db->table_name.'_data';$r2=$this->db->get_one(array('id'=>$id));$r=array_merge($r1,$r2);$r=array_map('htmlspecialchars_decode',$r);foreach($idsas$catid){$siteid=$siteids[$catid];$this->categorys=getcache('category_content_'.$siteid,'commons');$modelid=$this->categorys[$catid]['modelid'];$this->db->set_model($modelid);$r['catid']=$catid;$this->db->add_content($r);}
下载链接:网站源码/小程序源码/网站模板下载