要实现这一功能,首先需要对 DedeCMS 的核心文件进行修改。以下是具体步骤:
### 第一步:修改 `archives_do.php` 文件 在 DedeCMS 的管理目录(默认为 `dede`)下找到 `archives_do.php` 文件,并插入以下代码。你可以将这段代码放置在现有的审核文档逻辑下方,以便于记忆和维护。
/*-------------------------
// 取消审核文档
function checkArchives1() { }
-------------------------*/
else if($dopost=="checkArchives1")
{
CheckPurview('a_Check,a_AccCheck,sys_ArcBatch');
require_once(DEDEADMIN."/inc/inc_archives_functions.php");
if( !empty($aid) && empty($qstr) )
{
$qstr = $aid;
}
if($qstr=='')
{
ShowMsg("参数无效!",$ENV_GOBACK_URL);
exit();
}
$arcids = ereg_replace('[^0-9,]','',ereg_replace('`',',',$qstr));
$query = "Select arc.id,arc.typeid,ch.issystem,ch.maintable,ch.addtable From `dede_arctiny` arc
left join `dede_arctype` tp on tp.id=arc.typeid
left join `dede_channeltype` ch on ch.id=tp.channeltype
where arc.id in($arcids) ";
$dsql->SetQuery($query);
$dsql->Execute('ckall');
while($row = $dsql->GetArray('ckall'))
{
$aid = $row['id'];
$maintable = ( trim($row['maintable'])=='' ? 'dede_archives' : trim($row['maintable']) );
$dsql->ExecuteNoneQuery("Update `dede_arctiny` set arcrank='-1' where id='$aid' ");
if($row['issystem']==-1)
{
$dsql->ExecuteNoneQuery("Update `".trim($row['addtable'])."` set arcrank='-1' where aid='$aid' ");
}
else
{
$dsql->ExecuteNoneQuery("Update `$maintable` set arcrank='-1' where id='$aid' ");
}
$pageurl = MakeArt($aid,false);
}
ShowMsg("成功取消审核指定的文档!",$ENV_GOBACK_URL);
exit();
}
### 第二步:修改模板文件 `content_list.htm` 接下来,进入管理目录下的模板文件夹(默认路径为 `templets`),找到 `content_list.htm` 文件。你需要对该文件进行两处修改。 #### 1. 添加 JavaScript 函数 找到以下代码段: ```javascript function checkArc(aid){ var qstr=getCheckboxItem(); if(aid==0) aid = getOneItem(); location="archives_do.php?aid="+aid+"&dopost=checkArchives&qstr="+qstr; } ``` 在其下方添加一个新的函数 `checkArc1`,用于实现“取消审核”的功能: ```javascript function checkArc1(aid){ var qstr=getCheckboxItem(); if(aid==0) aid = getOneItem(); location="archives_do.php?aid="+aid+"&dopost=checkArchives1&qstr="+qstr; } ```
#### 2. 修改按钮代码 在模板中找到“审核”按钮的代码: ```html 审核 ``` 在其下方添加“取消审核”按钮的代码: ```html 取消审核 ``` 最终,这两行代码应如下所示: ```html 审核 取消审核 ```
### 总结 通过以上步骤,你已经成功在 DedeCMS 的文章管理界面中添加了一个“取消审核”功能。这一功能可以帮助管理员更高效地处理文章状态,确保内容发布流程更加灵活可控。如果你希望进一步优化系统,可以考虑将这些修改封装为插件,以便于未来的升级和维护。