站长之家 - 站长资讯 - 易采站长站

当前位置: > 建站教程 > 源码教程 > CMS 教程 >

dedecms评论中调用会员头像的方法-DedeCms教程

2019-09-20 06:46 | 来源:易采站长站 | 编辑:admin |

dede_feedback中有个face字段。
但真正的头像face字段应该是在dede_member表中。

尝试在feedback模板里调用dede_member的face字段失败。

大体代码见下:

{dede:sql sql="select dede_member.face,username from dede_member cross join dede_feedback where dede_feedback.username=dede_member.uname"}
<li><img src="[field:face/]" width="52" height="52" /> [field:username/]</li>
{/dede:sql}                   //在全局可调出回复的会员的名字和头像

此上办法无效,估计需要先修改php代码。

有没有人有更好的思路或者解决办法?

解答:

1、    文件:\include\taglib\feedback.lib.php

2、找到函数:

3、将函数用以下文字替换

function lib_feedback(&$ctag,&$refObj)

 

{

 

global $dsql;

$attlist="row|12,titlelen|24,infolen|100";

 

FillAttsDefault($ctag->CAttribute->Items,$attlist);

 

extract($ctag->CAttribute->Items, EXTR_SKIP);

 

$innertext = trim($ctag->GetInnerText());

 

$totalrow = $row;

 

$revalue = ”;

 

if(empty($innertext))

 

{

 

$innertext = GetSysTemplets(‘tag_feedback.htm’);

 

}

 

$wsql = " where ischeck=1 ";

 

$equery = "SELECT * FROM `cmsxx_feedback` $wsql ORDER BY id DESC LIMIT 0 , $totalrow";

 

$ctp = new DedeTagParse();

 

$ctp->SetNameSpace(‘field’,’[',']‘);

 

$ctp->LoadSource($innertext);

 

$dsql->Execute(‘fb’,$equery);

 

$msql = new DedeSql(false);

 

while($arr=$dsql->GetArray(‘fb’))

 

{

$arr['title'] = cn_substr($arr['arctitle'],$titlelen);

 

$arr['msg'] = jstrim($arr['msg'],$infolen);

 

$arr['aid']=$arr['aid'];

 

//插入会员图像字段

 

$wmsql=" where userid=’".$arr['username']."’";

 

$mquery="select * from cmsxx_member $wmsql order by mid desc LIMIT 0,1";

 

$msql->Execute(‘mb’,$mquery);

 

if($row=$msql->GetArray(‘mb’))

 

{

 

$arr['userface']= $row['face'];

 

}

 

else

 

{

 

$arr['userface']="no";

 

}

//会员图像字段插入结束

 

foreach($ctp->CTags as $tagid=>$ctag)

 

{

 

if(!empty($arr[$ctag->GetName()]))

 

{

 

$ctp->Assign($tagid,$arr[$ctag->GetName()]);

 

}

 

}

 

$revalue .= $ctp->GetResult();

 

}

 

$msql->Close();

 

return $revalue;

 

}

 

4、调用方法:

 

{dede:feedback row=’10′ infolen=’50′}

 

<DIV class=newComment><IMG height=40 alt="[field:username function="(@me=='匿名' ? '游客' : @me)"/]"

 

src="[field:userface function="(@me=='no' ? '/member/images/dfboy.gif' : @me)"/]" width=40>

 

<P><SPAN>[field:username function="(@me=='匿名' ? '游客' : @me)"/] </SPAN> 评:

 

<A class=blue title=[field:title/] href="/plus/view.php?aid=[field:aid/]" target=_blank>[field:title function="cn_substr(@me,30)"/]</A></P>

 

<P>[field:msg /]…<A href="/plus/feedback.php?aid=[field:id/]" target=_blank>查看</A></P>

 

</DIV>

 

{/dede:feedback}

实现了调用评论及用户图像和文章title的链接,但是只是动态的文章链接,如果需要静态的,应该需要关联文章表,取出URL吧。

软件名称:
DedeCms (织梦CMS)内容管理系统下载
软件语言:
简体/繁体中文
软件授权:
个人免费

  • 源码库浅析关于怎样做好dedecms站内优化-DedeCms教程
  • 源码库浅析dedecms链接优化方法-DedeCms教程
  • dedecms友情链接显示为LOGO图片链接-DedeCms教程
  • dedecms 在链接title中显示文章全名的实现方法-DedeCms教程
  • 如何让dedecms幻灯片代码不换行-DedeCms教程
  • Dedecms Tag伪静态的实现方法-DedeCms教程
  • 用SQL语句读取织梦DedeCMS各栏目文章数量-DedeCms教程
  • dedecms循环栏目时使用不同样式的方法-DedeCms教程
  • Dedecms 获得顶级栏目名称-DedeCms教程
  • dedecms单页文档调用 likesgpage&amp;likepage 时标签修改方-DedeCms教程
  • 网友评论

    关于我们 - 联系我们 - 广告服务 - 版权声明 - 人才招聘 - 友情链接 - 网站地图 - 帮助 - -

    CopyRight © 2010-2016 源码下载 easck.com , All Rights Reserved

    蒙公网安备 15052402000103号

    蒙ICP备14002389-1号