DEDECMS內容頁責任編輯調用代碼

前天 (07:48)


上班時間緊 寫了有點亂 大家要看仔細點  不要改錯了 (鄭重聲明:修改前請備份原文件)

第一步 先修改內容頁模板吧 (打開 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());
              }
在這段代碼的后面加入

            Copy code  else if($ctag->GetName()=="adminname")//責任編輯調用
              {
                  $this->dtp->Assign($tagid,$this->GetAdminname());
              }

再找:

 //----------------------
    //獲得本文的投稿作者信息
    //----------------------
    function GetMemberInfo()
    {
        if(!isset($this->MemberInfos['ID'])){
            if($this->Fields['memberID']==0) return '';
            else{
              $this->MemberInfos = $this->dsql->GetOne("Select ID,userid,uname,spacename,spaceimage From dede_member where ID='{$this->Fields['memberID']}' ");
            }
        }
        if(!isset($this->MemberInfos['ID'])) return "";
        else{
            $minfo  = "<a href='".$cfg_memberurl."/index.php?uid=".$this->MemberInfos['userid']."'>瀏覽 <font color='red'><b>";
            $minfo .= $this->MemberInfos['uname']."</font></b> 的個人空間</a>\r\n";
            return $minfo;
        }
    }

在這段代碼下面加入

//--------------------------
    //責任編輯調用
    //----------------------
    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  = "<a href='".$GLOBALS['cfg_cmspath']."/member/index.php?uid=".$this->adminer['userid']."'>{$editor['uname']}</a>
";
        }
      
}
        return $adm;
  }

這一步下也可以了。

第三步 要修改后臺文件 (打開 dede 目錄下的 article_eidt_action.php)

注:修改這一步的目地是當文章如果被另一位管理員重新編輯時,責任編輯人會重新更新當前編輯人ID。如果不修改這一步的話,責任編輯人永遠顯示是原發布人的ID或文章審核人管理員的ID。

找這段代碼:

$inQuery = "
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',

大功告成。

大家一步一步看清楚了再改,應該不會出錯。

 

特別提示:責任編輯人和前臺投稿人是完全不同  投稿人是顯示作者 代碼是{dede:field name='writer'/}

而責任編輯人 顯示是管理員ID 

也就是說當前臺會員投一遍文章時都要經過后臺管理員審核才能通過,而責任編輯顯示的就是審核該文章的管理員,還有就是當管理員直接從后臺發布的文章時,責任編輯顯示的是該管理員。

0
首頁
案例
關于
聯系
凯时平台