AB模板網:專注于dede模板,織夢源碼,織夢模板,網站模板下載,dedecms模板,網站源碼,dedecms教程以及各類手機網站模板和企業網站模板分享.

織夢模板

網站模板搜索
營銷型模板 政府網站模板 自適應模板 標簽大全

注冊

DEDE 在后臺添加欄目文檔的批量復制功能

網站模板下載 www.hbjasic.com / 2020-06-16
如果想要把一個欄目的所有文檔復制到另一個欄目中如果沒有好的辦法就只能一個一個的重新建立,為了避免這種浪費時間的事,我們就在后臺寫一個批量復制的功能。下面是實現功能的具體步驟
 
修改文件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('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();
  }
    $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))
      {
          $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();
}
 

本文由AB模板網整理發布,轉載請說明出處:http://www.hbjasic.com/dedecmsjc/6260.html
本文標簽:

有問題可以加入織夢技術QQ群一起交流學習

☉首先聲明,只要是我們的vip會員全站所有資源均可以免費下載,不做任何限制(了解更多)

☉本站的源碼不會像其它下載站一樣植入大量的廣告。

☉本站提供的織夢源碼,都是做好測試好發布的,均可放心使用。

☉本站提供的織夢源碼,均帶數據及演示地址。可以在任一源碼詳情頁查看演示地址。

☉為了vip利益的最大化,我們還提供了vip贈品(了解更多

☉如有其他問題,請加網站客服QQ(9490489)進行交流。

相關教程

織夢模板_隨機Tags

課程培訓網站模板 設施設備安裝網站模板 食品外貿網站模板網站模板 數碼電子網站模板 家政服務網站模板 玩具網站模板 手機網站模板 醫療護理網站模板 橙色網站模板 財務會計網站模板 飲水器網站模板 工程設計網站模板

推薦教程

首頁 VIP專區 靜態模板 會員中心
青娱乐视频精品分类在线播放