dede审核文章时同步更新文章发布日期为审核时间的修改方法


对于有些经常大批量更新文章的站点,可能后台会一次性发布很多文章,然后状态设置为未审核,然后每天放出一些文章来,但是这样的话,审核完的文章,前台显示的发布时间会显示你第一次发布的时间,而不是审核时的时间,就会给访客造成一种印象,你这些文章很早就有了,最近没更新的印象,因此很有必要在审核文章的时候,自动同步文章发布时间为审核的时间。

方法如下:

打开DEDE后台所在目录(默认为dede)的archives_do.php文件,大概在200行开始:

原代码:

$maintable = ( trim($row[‘maintable’])==” ? ‘dede_archives’ : trim($row[‘maintable’]) );

        $dsql->ExecuteNoneQuery(“Update `dede_arctiny` set arcrank=’0′ where id=’$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′ where id=’$aid’ “);

        }

        $pageurl = MakeArt($aid,false);

    }

    ShowMsg(“成功审核指定的文档!”,$ENV_GOBACK_URL);

修改为:

        $maintable = ( trim($row[‘maintable’])==” ? ‘dede_archives’ : trim($row[‘maintable’]) );

       $newdate = time();

        $dsql->ExecuteNoneQuery(“Update `dede_arctiny` set pubdate=’$newdate’,senddate=’$newdate’,arcrank=’0′ where id=’$aid’ “);

        if($row[‘issystem’]==-1)

        {

            $dsql->ExecuteNoneQuery(“Update `”.trim($row[‘addtable’]).”` set pubdate=’$newdate’,senddate=’$newdate’,arcrank=’0′ where aid=’$aid’ “);

        }

        else

        {

            $dsql->ExecuteNoneQuery(“Update `$maintable` set pubdate=’$newdate’,senddate=’$newdate’,arcrank=’0′ where id=’$aid’ “);

        }

        $pageurl = MakeArt($aid,false);

    }

    ShowMsg(“成功审核指定的文档!”,$ENV_GOBACK_URL);

当使用后台“审核”按钮审核文章时,同步更新该文章的发布时间为审核的时间。这样如果按发布时间排序,文章也能排在前面