phpcms v9后台文章列表增加一键推送到百度功能

推送到百度可以自动推送,也可以手动推送,自动推送教程网上可以搜到,自行搜索,这里是手动推送。
百度推送分为站长资源推送和熊掌号资源推送,api地址一样,参数略有不同,这里把两种都放进去了!
(1)打开phpcms\modules\content\content.php
在最下边增加推送方法

  1. /** 
  2.      * 一键推送百度 
  3.      */ 
  4.     public function push_bd() { 
  5.         $ids = $_POST['ids']; 
  6.         $ids = implode(',', $ids);//合并子栏目id 
  7.         if(!$ids) showmessage(L('you_do_not_check')); 
  8.         $catid = intval($_GET['catid']); 
  9.         if(!$catid) showmessage(L('missing_part_parameters')); 
  10.         $modelid = $this->categorys[$catid]['modelid']; 
  11.         $siteid = $this->categorys[$catid]['siteid']; 
  12.          
  13.         $data = $urls = array(); 
  14.         $this->db = pc_base::load_model('content_model');//引入content模型 
  15.         $this->db->set_model($modelid); 
  16.         $sql = "status=99 AND id IN ($ids)"; 
  17.         $order = "listorder desc, id desc"; 
  18.         $data = $this->db->select($sql, '*', '', $order, '', 'id'); 
  19.         foreach($data as $v){ 
  20.              $urls[] = $v['url']; 
  21.         }; 
  22.          
  23.         /*获取appid和appsecret*/ 
  24.         $this->site = pc_base::load_model('site_model'); 
  25.         $siteinfo   = $this->site->get_one(array('siteid'=>$siteid)); 
  26.         $setting    = json_decode($siteinfo['setting'], true); 
  27.         $bdtoken    = $setting['bdtoken'];//站长token 
  28.         $token      = $setting['xtoken'];//熊掌token 
  29.         $appid      = $setting['appid']; 
  30.         $domain     = parse_url($siteinfo['domain']); 
  31.         $siteurl    = $domain['host']; 
  32.          
  33.         $res1 = $res2 = ''; 
  34.         if(!empty($bdtoken)){ 
  35.             $bdapi =  'http://data.zz.baidu.com/urls?site='.$siteurl.'&token='.$bdtoken; 
  36.             $res1 = json_decode(self::baidu_push($bdapi, $urls), true); 
  37.         } 
  38.         if(!empty($token) && !empty($appid)){ 
  39.             $api = 'http://data.zz.baidu.com/urls?appid='.$appid.'&token='.$token.'&type=realtime'; 
  40.             $res2 = json_decode(self::baidu_push($api, $urls), true); 
  41.         } 
  42.         if($res1 || $res2){ 
  43.             $text = ''; 
  44.             if($res1['success']){ 
  45.                 $text .= '站长推送成功,成功数量'.$res1['success']; 
  46.             }else{ 
  47.                 $text .= '站长推送失败,失败数量'.$res1['success']; 
  48.             } 
  49.             if($res2['success']){ 
  50.                 $text .= '------熊掌推送成功,成功数量'.$res2['success_realtime']; 
  51.             }else{ 
  52.                 if($res2['remain_realtime']){ 
  53.                     $text .= '------熊掌推送失败,失败数量'.$res2['success_realtime']; 
  54.                 }else{ 
  55.                     $text .= '------今日熊掌推送次数已用完'; 
  56.                 }  
  57.             } 
  58.             showmessage($text,HTTP_REFERER,8000); 
  59.         }else { 
  60.             showmessage(L('operation_failure')); 
  61.         } 
  62.     } 
  63.      
  64.     /* 
  65.     ** 百度推送处理函数 
  66.     */ 
  67.     public function baidu_push($api, $urls){ 
  68.         $ch = curl_init(); 
  69.         $options =  array( 
  70.             CURLOPT_URL => $api, 
  71.             CURLOPT_POST => true, 
  72.             CURLOPT_RETURNTRANSFER => true, 
  73.             CURLOPT_POSTFIELDS => implode("\n", $urls), 
  74.             CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), 
  75.         ); 
  76.         curl_setopt_array($ch, $options); 
  77.         $result = curl_exec($ch); 
  78.         return $result; 
  79.     } 

(2)phpcms\modules\content\templates\content_list.tpl.php
找到大概141行代码:

  1. " οnclick="myform.action='?m=content&c=content&a=remove&catid=';myform.submit();"/> 

在下边增加代码:

  1. ';myform.submit();"/> 


(3)phpcms\modules\admin\templates\site_add.tpl.php
找到大概135代码:

  1.  
  2.     
  3.    "/> 
  4.     

在下边新增代码:

  1.  
  2.     百度推送Token 
  3.     "/> 
  4.     
  5.    
  6.     百度熊掌号设置 
  7.     Appid:"/> 
  8.       Toekn:"/> 
  9.      
  10.     

同理phpcms\modules\admin\templates\site_edit.tpl.php找到125行之后增加如上代码:

  1.  
  2.     百度推送Token 
  3.     "/> 
  4.     
  5.    
  6.     百度熊掌号设置 
  7.     Appid:"/> 
  8.       Toekn:"/> 
  9.      
  10.      

第三步的具体位置可以根据自己需要放,找到对应的tr就行。
保存,更新后台缓存,即可实现对百度的手动推送,


phpcms v9后台文章列表增加一键推送到百度功能_第1张图片

你可能感兴趣的:(phpcms)