DEDE 在后臺添加欄目文檔的批量復制功能,織夢教
導讀:織夢教程織夢教程如果想要把一個欄目的所有文檔復制到另一個欄目中如果沒有好的辦法就只能一個一個的重新建立,為了避免這種浪費時間的事,我們就在后臺寫一個批量復制的功能。下面是實現功dede免費模板織夢后臺模板。
如果想要把一個欄目的所有文檔復制到另一個欄目中如果沒有好的辦法就只能一個一個的重新建立,為了避免這種浪費時間的事,我們就在后臺寫一個批量復制的功能。下面是實現功能的具體步驟
修改文件dede/templets/content_batch_up.htm 修改頭部腳本函數ShowHideMove() function ShowHideMove() { var selBox = document.getElementByIdx_x('moveradio'); var selBox2 = document.getElementByIdx_x('copyradio');//edited by adan;090508 var obj = document.getElementByIdx_x(&織夢模板網站#39;moveField'); if(selBox.checked||selBox2.checked) obj.style.display = "block";//edited by adan;090508 else obj.style.display = "none"; } 添加復制欄目按鈕 查找 <input name="action" type="radio" class="np" value="move" id="moveradio" onClick="ShowHideMove()" /> 移動文檔 后面添加 <input name="action" type="radio" class="np" value="copy" id="copyradio" onClick="ShowHideMove()" /><!--added by adan;090508--> 復制欄目文檔 修改文件dede/content_batch_action.PHP 首先刪除文件最后的兩段代碼 //刪除空標題內容 else if($action=='delnulltitle') { $dsql->SetQuery("Select id From dede_archives where trim(title)='' "); $dsql->Execute('x'); $tdd = 0; while($row = $dsql->GetObject('x')) { if(DelArc($row->id)) { $tdd++; } } ShowMsg("成功刪除 $tdd 條記錄!","JavaScript:;"); exit(); } //修正縮略圖錯誤 else if($action=='modddpic') { $dsql->ExecuteNoneQuery("Update dede_archives set litpic='' where trim(litpic)='litpic' "); ShowMsg("成功修正縮略圖錯誤!","javascript:;"); exit(); } 上面2段代碼,官方人員竟然把上面2段代碼搞重復了,先汗一個! 然后在最后添加下面代碼 //start 添加復制欄目文章功能 added by adan;090508 else if($action=='copy') { if(empty($typeid)) { ShowMsg('該操作必須指定欄目!','javascript:;'); exit(); } $typeold = $dsql->GetOne("Select * From `dede_arctype` where id='$typeid'; "); $typenew = $dsql->GetOne("Select * From `dede_arctype` where id='$newtypeid'; "); if(!is_array($typenew)) { $dsql->Close(); ShowMsg("無法檢測復制到的新欄目的信息,不能完成操作!","javascript:;"); exit(); } if($typenew['ispart']!=0) { $dsql->Close(); ShowMsg("你不能把數據復制到非最終列表的欄目!","javascript:;"); exit(); } if($typenew['channeltype']!=$typeold['channeltype']) { $dsql->Close(); ShowMsg("不能把數據復制到內容類型不同的欄目!","javascript:;"); exit(); } &dede,模板nbsp; $gwhere .= " And channel='".$typenew['channeltype']."' And title like '%$keyword%'"; $ch = $dsql->GetOne("Select addtable From `dede_channeltype` where id={$typenew['channeltype']} "); $addtable = $ch['addtable']; $dsql->SetQuery("Select * From `dede_archives` where typeid='$typeid'"); $dsql->Execute('c'); $tdd = 0; while($row = $dsql->GetObject('c')) { $senddate = time(); $sortrank = AddDay($senddate,0);//第二個參數是排序值,參考article_add.php $ID = $row->id; $typeid = $newtypeid;//$newtypeid $sortrank = $row->sortrank; $flag = $row->flag; $ismake = $row->ismake; $channelid = $row->channel; $arcrank = $row->arcrank; $click = $row->click; $money = $row->money; $title = addslashes($row->title);//需要添加addslashes()轉換; adan;090508 $shorttitle = $row->shorttitle; $color = $row->color; $writer = $row->writer; $source = $row->source; $litpic = $row->litpic; $pubdate = $row->pubdate; $adminid = $cuserLogin->getUserID(); $notpost = $row->notpost; $description = addslashes($row->description);//需要添加addslashes()轉換; adan;090508 $keywords = $row->keywords; require_once(DEDEADMIN."/inc/inc_archives_functions.php"); //生成文檔ID $arcID = GetIndexKey($arcrank,$typeid,$sortrank,$channelid,$senddate,$adminid); if(empty($arcID)) { ShowMsg("無法獲得主鍵,因此無法進行后續操作!","-1"); exit(); } //加入數據表dede_archives的SQL語句 //---------------------------------- $inQuery = "INSERT INTO `dede_archives`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle, color,writer,source,litpic,pubdate,senddate,mid,lastpost,scores,goodpost,badpost,notpost,description,keywords,filename) VALUES ('$arcID','$typeid','','$sortrank','$flag','$ismake','$channelid','$arcrank','0','$money', '$title','$shorttitle','$color','$writer','$source','$litpic','$pubdate','$senddate', '$adminid','0','0','0','0','0','$description','$keywords','');"; if(!$dsql->ExecuteNoneQuery($inQuery)) &nbdede模板免費sp; { $gerr = $dsql->GetError(); $dsql->ExecuteNoneQuery("Delete From `dede_arctiny` where id='$arcID'"); ShowMsg("把數據保存到數據庫主表 `dede_archives` 時出錯,請把相關信息提交給DedeCms官方。".str_replace('"','',$gerr),"javascript:;"); exit(); } //保存到附加表 $cts = $dsql->GetOne("Select addtable From `dede_channeltype` where id='$channelid' "); $addtable = trim($cts['addtable']); if(empty($addtable)) { $dsql->ExecuteNoneQuery("Delete From `dede_archives` where id='$arcID'"); $dsql->ExecuteNoneQuery("Delete From `dede_arctiny` where id='$arcID'"); ShowMsg("沒找到當前模型[{$channelid}]的主表信息,無法完成操作!。","javascript:;"); exit(); } $useip = GetIP(); $redirecturl = $addRow['redirecturl']; $templet = $addRow['templet']; $addRow = $dsql->GetOne("Select * from `{$addtable}` where aid='$ID'"); $body = addslashes($addRow["body"]); $query = "INSERT INTO `{$addtable}`(aid,typeid,redirecturl,templet,userip,body) Values('$arcID','$typeid','$redirecturl','$templet','$useip','$body')"; if(!$dsql->ExecuteNoneQuery($query)) { $gerr = $dsql->GetError(); $dsql->ExecuteNoneQuery("Delete From `dede_archives` where id='$arcID'"); $dsql->ExecuteNoneQuery("Delete From `dede_arctiny` where id='$arcID'"); ShowMsg("把數據保存到數據庫附加表 `{$addtable}` 時出錯,請把相關信息提交給DedeCms官方。".str_replace('"','',$gerr),"javascript:;"); exit(); } else $tdd++; } if($tdd>0) { $jumpurl = "makehtml_archives_action.php?endid=$endid&startid=$startid"; $jumpurl .= "&typeid=$newtypeid&pagesize=20&seltime=$seltime"; $jumpurl .= "&stime=".urlencode($starttime)."&etime=".urlencode($endtime); ShowMsg("成功復制了 $tdd 條記錄,準備重新生成HTML...",$jumpurl); } else ShowMsg("完成操作,沒復制任何數據...","javascript:;"); exit(); }
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-18 ,文章DEDE 在后臺添加欄目文檔的批量復制功能,織夢教主要講述批量,后臺,織夢網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_29044.html