当前位置:首页 > 行业动态 > 正文

如何在DedeCMS中批量取消文档的审核状态?

要批量取消DedeCMS文档的审核,可以使用SQL语句更新数据库中的相关字段。以下是一个示例:,,“ sql,UPDATE #@__archives SET ischeck = 0 WHERE id IN (文档ID1, 文档ID2, ...);,` ,,将文档ID1, 文档ID2, …`替换为需要取消审核的文档ID列表,然后执行该SQL语句即可。

在DedeCMS中,批量取消审核文档的实现方法主要通过修改管理目录下的文件和模板目录文件来完成,以下将详细介绍具体的步骤:

如何在DedeCMS中批量取消文档的审核状态?  第1张

一、修改管理目录(默认为dede)下的文件

1、插入代码到archives_do.php文件中

打开管理目录下的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('[^09,]','',ereg_replace('`',',',$qstr));
         $query = "Select arc.id,arc.typeid,ch.issystem,ch.maintable,ch.addtable Fromdede_arctiny arc
                  left joindede_arctype tp on tp.id=arc.typeid
                  left joindede_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'];
             //print_r($row);
             $maintable = (trim($row['maintable'])=="" ? 'dede_archives' : trim($row['maintable']));
             $dsql>ExecuteNoneQuery("Updatedede_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();
     }

二、修改模板目录(templets)的文件

2、修改content_list.htm文件

打开管理目录下的模板目录(templets)中的content_list.htm文件。

找到以下代码:

     function checkArc(aid){
     var qstr=getCheckboxItem();
     if(aid==0) aid = getOneItem();
     location="archives_do.php?aid="+aid+"&dopost=checkArchives&qstr="+qstr;
     }

在其下面添加如下代码:

     function checkArc1(aid){
     var qstr=getCheckboxItem();
     if(aid==0) aid = getOneItem();
     location="archives_do.php?aid="+aid+"&dopost=checkArchives1&qstr="+qstr;
     }

找到“审核”按钮的代码:

     <a href="javascript:checkArc(0)" >审核</a>

在这段代码下面添加取消审核的按钮代码:

     <a href="javascript:checkArc1(0)" >取消审核</a>

三、FAQs

1. Q:为什么需要修改archives_do.php文件?

A:修改archives_do.php文件是为了添加一个新的函数checkArchives1(),该函数用于处理取消审核的逻辑,它会根据传入的文档ID列表($qstr),查询数据库并更新相应记录的状态,从而完成批量取消审核的操作,如果不修改这个文件,系统将无法识别和处理取消审核的请求。

2. Q:如何在前端页面上看到取消审核的按钮?

A:需要在模板文件content_list.htm中添加新的JavaScript函数checkArc1(aid),并在页面上添加一个调用该函数的超链接,这样,当用户点击“取消审核”按钮时,会触发相应的操作,将请求发送到服务器进行处理,还需要在原有的“审核”按钮下方添加一个新的“取消审核”按钮,以便用户可以方便地进行操作。

0