在网站内容管理系统中,添加“责任编辑”功能是一项非常实用的操作。本文将详细介绍如何通过修改模板文件和后台代码实现这一功能。以下是具体步骤:
第一步:修改内容页模板
打开 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 = "adminer['userid']."'>{$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。
希望以上内容对您有所帮助!