智软工作室主要是为宁波公司提供宁波网站建设,宁波网站制作,宁波做网站公司,宁波外贸网站建设公司,宁波网站优化等项目,以优质的服务,优惠的价格,深的客户信赖。相信有你的加入我们的明天会更有动力!期待与你合作!
  • 宁波智软设计工作室,打造宁波网站制作工作室顶级品牌
  • 智软拥有专业的设计团队
  • 多年网站建设团队为你服务
  • 智软期待与你合作
  • 我们的技能
  • 我们掌握的技能有:dreamweaver,flash,photoshop
  • 宁波高端网站建设服务公司
    2014已经悄然到来,在新的一年我们恭贺所有客户事业蒸蒸日上,同事庆祝智软设计工作室成立5周年,在5周年为众多客户提供了保质量的网站设计与网站制作。 我们在新的一年质量与服务将会更加进一步为更多的客户带来高端的网站设计与服务!期待与你合作
  • 企业网站制作建设原因与服务介绍

    智软设计工作室多年为宁波企业网站制作建设服务一直以来我们以最优惠价格,最优质的质量,最突出的设计!得到了客户的一致认可,我们的服务包括:宁波网站设计,宁波网站建设,宁波网站制作,宁波网站优化,宁波英文网站制作我们会以优质的服务,最低的价格来报答客户!

  • 点击链接网站优化推广介绍

    点击连接网站优化推广-对企业的网站优化和网站推广--对企业的重要性-点击进行详细了解

  • 2014开幕,宁波网站设计服务全面优惠.

    2014开幕,宁波智软设计为宁波企业提供更加优秀的设计和实惠的价格

  • 链接到网站案例展示平台
    智软设计工作为宁波客户网站设计案例展示平台-案例均为定期更新,让新老客户更好的看到我们做的案例,点击查看我们做的网站案例吧!
  • 我们宁波网络公司提供网站一站式解决方案
    智软(宁波网络公司)帮你轻松解决网络问题,网站一站式解决方案
你当前的位置:智软工作室 > 营销与网络 >

解决方案-DEDE织梦cms后台添加栏目文档的批量复制功能

2020-11-06 13:20

在我们用织梦制作网站的时候,如果需要制作多个语言, 一个语言已经添加很多产品内容。那我们怎么样才能直接复制过去了? 

 

修改文件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();
}

更多

【责任编辑:小戴工程师】

上一篇:dedecms 三级导航栏目循环,dede:channelartlist 下一篇:htaccess 301跳转到https规则

最新文章

2020-11-06 13:20

相关文章

2020-11-06 13:20
网站制作咨询:
QQ:277728291
电话:18668277799
邮箱:277728291@qq.com
期待你来电咨询
回顶部
Copyright 2010 智软工作室 版权所有    智软为宁波公司提供最优惠的网络服务【宁波网站建设,宁波网站制作公司,宁波做网站公司,宁波外贸网站建设公司】我们竭诚为你服务!