当前位置:首页 > PHP文摘 > 列表

Dedecms直接在php文件里面修改设置文章页面显示作者头像默认

发布:smiling 来源: PHP粉丝网  添加日期:2019-01-10 17:30:14 浏览: 评论:0 

Dedecms直接在php文件里面修改设置文章页面显示作者头像默认只能显示作者用户名

最近,dedecms在文章页面显示作者只是显示其用户名,有用户就在想把dede改造成较为社交化的网站,哎,小编觉得这就有必要显示作者的头像的,但是官方并没有相应的模版标签。这该如何是好呢?

小编于是在网上看到解决这个问题的办法大多基本上都是直接在模版页面调用runphp的程序段,的确这种办法是可行的。

但是小编不倾向于这么做,因为很多时候我们都需要差异化的功能,每次都这样夹杂着php代码看起来很乱。

于是小编便直接在php文件里面修改的,这样可以让文章模版可以调用几个新的标签。

首先

找到/include/arc.archives.class.php文件

搜索“$this->addTableRow=$this->dsql->GetOne($query);”,跳转到大概154行,在else{$this->Fields[‘templet’]=$this->Fields[‘redirecturl’]=”;}下面添加如下代码:

  1. $query=”SELECT*FROMjcode_memberWHERE`mid`=”.$this->Fields[‘mid’]; 
  2.  
  3. $authorInfo=$this->dsql->GetOne($query); 
  4.  
  5. $this->Fields[‘authoranme’]=$authorInfo[‘uname’]; 
  6.  
  7. $this->Fields[‘authorface’]=$authorInfo[‘face’]; 
  8.  
  9. if(emptyempty($this->Fields[‘authorface’])) 
  10.  
  11.  
  12. $this->Fields[‘authorface’]=($this->authorInfo[‘sex’]==’女’)?’../member/templets/images/dfgirl.png':’../member/templets/images/dfboy.png'
  13. //phpfensi.com 
  14.  
  15. $this->Fields[‘authorface’]=”Fields[‘authorface’].”‘/>”; 
  16.  
  17. $this->Fields[‘authoremail’]=$authorInfo[’email’]; 

这段代码的作用就是根据文章的作者id查询作者信息,其中当然包括头像。

小编在这里为了以后备用查询出了头像 email 和用户名称三种信息。

在用户头像的这个标签里面我做了一些处理,使在模版中调用的时候能直接生成链接,指向作者的空间。

在文章模板中调用作者头像的语句为:

{dede:field.authorface/}

这个标签对应的php代码其实就是上面的$this->Fields[‘authorface’],同理我们要查询出作者的email信息其实是在php代码的$this->Fields[‘authoremail’]中,对应的模版标签为{dede:field.authoremail/}

Tags: 作者头像 作者用户

分享到: