• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DEDECMS内容页责任编辑调用代码
    POST TIME:2017-10-26 20:34

    上班时间紧 写了有点乱 大家要看仔细点  不要改错了 (郑重声明:修改前请备份原文件)

    第一步 先修改内容页模板吧 (打开 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 

    也就是说当前台会员投一遍文章时都要经过后台管理员审核才能通过,而责任编辑显示的就是审核该文章的管理员,还有就是当管理员直接从后台发布的文章时,责任编辑显示的是该管理员。

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!