muban大师 发表于 2020-10-5 19:02:45

DEDECMS中对发布人的修改

需求分析:因为我们的网站(oemay女人妆)中的新闻基本都是采集的,但是因为采集的都是发布人都是同一人,为了能更好的统计编辑工作业绩,希望在采编进行审核和二次编辑并发布的时候,将发布人替换成为采编的信息。
       
        简单的说,就是希望实现谁审核,发布人就是谁的效果。
       
        实现问题的关键:
        1、在DEDE的数据库中的文档主表为dede_archives,其中mid字段为发布人字段,类型为mediumint(8)
        2、DEDE的文章列表中审核、生成、推荐等操作的相关文件dede/archives_do.php
        3、类userlogin中的getUserID方法可以获取当前编辑的ID号
       
        修改方法存档:
        找到dede/archives_do.php的225行,在下方找到:
       
        $maintable = ( trim($row['maintable',)=='' ? '2ky_archives' : trim($row['maintable',) );
        if($dsql->ExecuteNoneQuery("Update `2ky_arctiny` set arcrank='0' where id='$aid' ")) {
        $dsql->ExecuteNoneQuery("Update `2ky_taglist` set arcrank='0' where aid='$aid' ");
        }
        if($row['issystem',==-1) {
        $dsql->ExecuteNoneQuery("Update `".trim($row['addtable',)."` set arcrank='0' where aid='$aid' ");
        }
        else {
        $dsql->ExecuteNoneQuery("Update `$maintable` set arcrank='0', dutyadmin='".$cuserLogin->getUserID()."' where id='$aid' ");
        }
        $pageurl = MakeArt($aid,false);
       
        修改为:
       
        $maintable = ( trim($row['maintable',)=='' ? '2ky_archives' : trim($row['maintable',) );
        $dsql->ExecuteNoneQuery("Update `2ky_arctiny` set arcrank='0', mid=".$cuserLogin->getUserID()." where id='$aid' ");
        if($row['issystem',==-1) {
          $dsql->ExecuteNoneQuery("Update `".trim($row['addtable',)."` set arcrank='0', mid=".$cuserLogin->getUserID()." where aid='$aid' ");
        }
        else{
          $dsql->ExecuteNoneQuery("Update `$maintable` set arcrank='0', dutyadmin='".$cuserLogin->getUserID()."', mid=".$cuserLogin->getUserID()." where id='$aid' ");
        }
页: [1]
查看完整版本: DEDECMS中对发布人的修改