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('moveField'😉;
if(selBox.checked||selBox2.checked) obj.style.display = "block";//edited by adan;090508
elseobj.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"😉;

注明:本文为星速云原创版权所有,禁止转载,一经发现将追究版权责任!

(0)
上一篇 2022年5月30日 上午3:59
下一篇 2022年5月30日 上午3:59

相关推荐

发表评论

登录后才能评论
问答社区 QQ客服
微信客服
微信客服
分享本页
返回顶部