### 修改文件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";
}
#### 添加复制栏目按钮 接下来,在现有移动文档按钮后添加一个新的“复制栏目文档”按钮。
复制栏目文档
### 修改文件dede/content_batch_action.PHP 为了实现实际的复制逻辑,我们需要对PHP处理文件进行相应的修改。
#### 删除重复代码 官方提供的代码中存在重复部分,建议删除以下两段代码以避免冲突。
// 删除空标题内容
else if($action=='delnulltitle') {
...
}
// 修正缩略图错误
else if($action=='modddpic') {
...
}
#### 添加复制功能代码 最后,在文件末尾添加以下代码以实现文档复制功能。
// 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();
}
...
}