找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 148|回复: 0

[cms教程] dedecms 内容页责任编辑调用代码

[复制链接]

该用户从未签到

发表于 2020-7-31 09:23:51 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
第一步 先修改内容页模板吧 (打开 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  = "[url=".$cfg_memberurl."/index.php?uid=".$this->MemberInfos[,浏览 ";
                    $minfo .= $this->MemberInfos['uname',."
的个人空间[/url]\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  = "[url=".$GLOBALS[,adminer['userid',."'>{$editor['uname',}[/url]
        ";
                }
             
        }
                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
         
        也就是说当前台会员投一遍文章时都要经过后台管理员审核才能通过,而责任编辑显示的就是审核该文章的管理员,还有就是当管理员直接从后台发布的文章时,责任编辑显示的是该管理员。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-7 22:28

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表