在网站内容管理系统中,添加“责任编辑”功能是一项非常实用的操作。本文将详细介绍如何通过修改模板文件和后台代码实现这一功能。以下是具体步骤:

第一步:修改内容页模板
打开 templetsdefault 目录下的 article_article.htm 文件。
在需要显示“责任编辑”的地方插入以下代码:


责任编辑:{dede:adminname/}
    

完成此步骤后,内容页模板部分的修改就完成了。

第二步:修改变量输出代码
接下来,我们需要对 include 目录下的 inc_archives_view.php 文件进行编辑。
找到以下代码段:


var $PartView;
var $TempSource;
var $IsError;
var $SplitTitles;
var $MemberInfos;
    

在其下方添加以下代码:


var $Adminname;
    

然后继续寻找以下代码:


else if($ctag->GetName()=="memberinfo")
{
    $this->dtp->Assign($tagid,$this->GetMemberInfo());
}
    

在其后添加:


else if($ctag->GetName()=="adminname")//责任编辑调用
{
    $this->dtp->Assign($tagid,$this->GetAdminname());
}
    

最后,在获取投稿作者信息的函数后面添加以下代码:


//————————–
// 责任编辑调用
//———————- 
function GetAdminname()
{
    $adm = "";
    $rid = $this->ArcID;
    $query = "Select a.ID,a.adminID,b.id,b.uname from dede_archives a left join dede_admin b on a.adminid=b.ID where a.id order by a.ID=$rid desc";
    $editor = $this->dsql->GetOne($query);
    if(is_array($editor)){
        $this->adminer = $this->dsql->GetOne("Select ID,userid,uname From dede_member where uname='{$editor['uname']}' ");
        if(!isset($this->adminer['uname'])){
            $adm  = "{$editor['uname']}";
        }else{
            $adm  = "{$editor['uname']}";
        }
    }
    return $adm;
}
    

至此,变量输出代码部分的修改已完成。

第三步:修改后台文件
打开 dede 目录下的 article_eidt_action.php 文件。
找到以下代码段:


update dede_archives set
typeid='$typeid',
typeid2='$typeid2',
sortrank='$sortrank',
redirecturl='$redirecturl',
iscommend='$iscommend',
ismake='$ismake',
arcrank='$arcrank',
money='$money',
title='$title',
color='$color',
writer='$writer',
source='$source',
litpic='$litpic',
pubdate='$pubdate',
    

在其下方添加:


adminID='$adminID',
    

这样,当文章被其他管理员重新编辑时,“责任编辑”的ID会自动更新为当前编辑人的ID。

总结:
按照上述步骤操作后,“责任编辑”功能即可成功实现。需要注意的是,“责任编辑”与前台投稿人是不同的概念。前台投稿人显示的是作者,使用代码 {dede:field name='writer'/};而“责任编辑”显示的是审核或发布该文章的管理员ID。

希望以上内容对您有所帮助!