• 联盟
  • 文章
  • 当前位置:排行榜 > 资讯 > 经验学堂 > 列表经验学堂

    织梦dede怎么复制相同的栏目

    编辑:996评测网 发布时间:2020-05-04 22:46 分类:经验学堂

    如果想要把一个栏目的所有文档复制到另一个栏目中如果没有好的办法就只能一个一个的重新建立,为了避免这种浪费时间的事,我们就在后台写一个批量复制的功能。下面是实现功能的具体步骤


    修改文件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();
    }
    (责任编辑:996top广告联盟评测)
    上一篇:织梦dede文章上一篇下一篇怎样修改链接地址替换? 下一篇:织梦dede怎样更改选择不同的搜索页模板?
    下级栏目
    最新加入
  • 12020-07-20CPS日结广告联盟
  • 22020-07-15发发广告联盟
  • 32020-07-05团成移动联盟
  • 42020-06-22蜜趣CPS联盟
  • 52020-05-05趣米移动广告
  • 62020-04-28斯巴达联盟
  • 72020-04-28萌新移动联盟
  • 82020-04-22八通广告联盟
  • 92020-04-19998广告联盟
  • 102020-04-15誉见广告平台
  • 热评联盟
  • 1点评[93]铁憨憨广告联盟
  • 2点评[32]非凡广告联盟
  • 3点评[25]誉见广告平台
  • 4点评[22]辉耀移动联盟
  • 5点评[19]巨梦广告联盟
  • 6点评[16]望云广告联盟
  • 7点评[13]快唯广告联盟
  • 8点评[12]晨阳广告传媒
  • 9点评[10]盖亚联盟CPA
  • 10点评[10]亿云联盟
  • 服务排行
    人气排行
  • 1浏览[426]盖亚联盟CPA
  • 2浏览[271]趣米移动广告
  • 3浏览[266]青瓜传媒APP推广
  • 4浏览[218]小明精准联盟
  • 5浏览[215]百度联盟
  • 6浏览[190]CPA唯尚广告联盟
  • 7浏览[152]非凡广告联盟
  • 8浏览[125]易盟广告
  • 9浏览[120]联合云享广告平台
  • 10浏览[116]超越广告联盟
  • 关于996| 版权声明| 联系方式| 广告服务

    Copyright © 版权所有:996评测网 广告联系QQ:2220095515 (请注明:投广告)
    (评论内容只代表网友观点,与996评测网立场无关)