dedecms评论中调用会员头像的方法

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吧。

支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论