解决dede文章页面如何显示作者的头像默认只能显示作者用户名的方

时间:2014-07-24

    dede在文章页面显示作者只是显示其用户名,但是假如我想把dede改造成较为社交化的网站,我觉得是有必要显示作者的头像的,但是官方并没有相应的模版标签。 

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

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

我是直接在php文件里面修改的,让文章模版可以调用几个新的标签。 

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

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

代码如下:

/*HEJIE_MODIFY文章作者信息 @www.0898sk.com*/ 

$query = "SELECT * FROM jcode_member WHERE `mid` = ".$this->Fields['mid']; 

$authorInfo = $this->dsql->GetOne($query); 

$this->Fields['authoranme']=$authorInfo['uname']; 

$this->Fields['authorface']=$authorInfo['face']; 

if(empty($this->Fields['authorface'])) 

$this->Fields['authorface']=($this->authorInfo['sex']=='女')? '../member/templets/images/dfgirl.png' : '../member/templets/images/dfboy.png'; 

$this->Fields['authorface']="<a href='".$GLOBALS['cfg_basehost']."/member/index.php?uid=".$authorInfo['userid']."'><img width='32' height='32' src='".$this->Fields['authorface']."' /></a>"; 

$this->Fields['authoremail']=$authorInfo['email']; 

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

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

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

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

代码如下:

{dede:field.authorface/} 

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


[分享织梦5.7怎么自动给文章内的图片增加alt属性]

[织梦cms网站文章优化要注意细节分析]

[分享DedeCms如何批量修改文章发布时间]

[新版简洁文章资讯DedeCms模板-绿色 v2.0]

[新手教程:DEDECMS文章和栏目URL修改方法]

[分享dedecms文章列表arclist标签大全]

[使用Ping服务,快速收录你的原创文章]

[织梦系统文章防止被复制采集的方法]

[推荐:织梦系统文章图片ALT自动调用标题的方法]

上一条:织梦DedeCMS实现MySQL修复表的方法 下一条:dede5.6链接地址及跳转地址长度修改的方法

相关文章

最新文章