一、打开dede/templets/index_body.htm文件(dede为你网站后台登录目录,如有变动,自行修改),在104行左右加入代码:
<DIVclass="icoitem""background:url(images/manage1.gif) 10px 3px no-repeat;"><a HRef="content_listxzh.php">熊掌号管理</a></div>
添加后的代码
添加完成后,到网站后台刷新一下,在后台主面板的快捷管理处可以看到多了“熊掌号管理”入口:
二、找到dede/content_list.php文件,复制一份命名为content_listxzh.php,打开命名后的文件,找到代码(大概在第231行):
//模板
if(empty($s_tmplets)) $s_tmplets ='templets/content_list.htm';
$dlist->SetTemplate(DEDEADMIN.'/'.$s_tmplets);
修改为:
//模板
if(empty($s_tmplets)) $s_tmplets ='templets/content_listxzh.htm';
$dlist->SetTemplate(DEDEADMIN.'/'.$s_tmplets);
就是把模板指向文件content_list.htm改为content_listxzh.htm:
三、找到dede/ templets/ content_list.htm文件,复制一份命名为content_listxzh.htm,打开命名后的文件,找到代码(大概在第103行):
<a href="JavaScript:;"onClick="cAtts('attsDel',event,this)"class="coolbg"> 删除属性 </a>
修改为:
<a href="javASCrIPt:;"onClick="cAtts('attsDel',this)"class="coolbg"> 删除属性 </a>
<a href="javascript:xzh(0)"class="coolbg"> 百度熊掌号更新 </a>
修改后的代码
四、打开dede/JS/list.js文件,在最后或者中间加入代码:
//百度熊掌号推送
function xzh(AId){
var qstr=getCheckboxItem();
if(aid==0) aid = getOneItem();
location="archives_do.php?qstr="+qstr+"&aid="+aid+"&dopost=xzh";
}
添加后的代码
然后再找到代码(大概在第87行):
newContextItem("删除文档",function(){ delArc(aid); }),
修改为:
newContextItem("删除文档",
newContextItem("熊掌号更新",function(){ xzh(aid); }),
添加后的代码
五、打开dede/archives_do.php文件,找到代码(大概在第267行):
/*--------------------------
//熊掌号更新
function xzh() { }
---------------------------*/
else if($dopost=="xzh")
{
CheckPurview('a_Check,a_AccCheck,sys_Arcbatch');
require_once(DEDEADMIN."/inc/inc_archives_functions.php");
if( !empty($aid) && empty($qstr) ) $qstr = $aid;
if($qstr=='')
{
ShowMsg("参数无效!",$ENV_GOBACK_URL);
exit();
}
$arcids = preg_replace("#[^0-9,]#",'',preg_replace("#`#",',$qstr));
$query ="Select arc.id,arc.title,arc.shorttitle,arc.typeid,arc.ismake,arc.senddate,arc.arcrank,arc.money,arc.filename,arc.litpic,
t.typedir,t.typename,t.namerule,t.namerule2,t.ispart,t.moresite,t.siteurl,t.sitepath,t.isdefault,t.defaultname
from `dede_archives` arc left join dede_arctype t on arc.typeid=t.id
WHERE arc.id in($arcids)";
$dSQL->SetQuery($query);
$dsql->Execute();
$data=array();
while($row = $dsql->GetArray())
{
$preRow=$row;
$data[]=GetFileUrl($preRow['id'],$preRow['typeid'],$preRow['title'],
$preRow['ismake'],$preRow['namerule'],$preRow['typedir'],$preRow['money'],$preRow['filename'],
$preRow['moresite'],$preRow['siteurl'],$preRow['sitepath']);
}
$urls=$data;
$API ='http://data.zz.baidu.com/urls?APPid=你的熊掌号id&token=你的Token码&type=batch';
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST =>true,
CURLOPT_RETURNTRANSFER =>true,
CURLOPT_POSTFIELDS => implode(" ",$urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch,$options);
$result = curl_exec($ch);
echo $result;
ShowMsg($result,$ENV_GOBACK_URL);
exit();
}
注意一定要把百度熊掌号的ID和Token码换为自己的:
最后可以测试一下推送结果,显示成功success则代表此功能已经实现:
推送成功反馈
以上过程就是把百度熊掌号API接口集成到织梦后台的文章管理列表的实现方法,其他任何API接口都可以按照这个思路操作。