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

dede_feedback中有个face字段。但真正的头像face字段应该是在dede_member表中。。尝试在feedback模板里调用dede_member的face字段失败。。大体代码见下:{dede:sql sql=select dede_me…

 

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

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

通常我们在做织梦模板时都会为标题设置titlelen或者直接来截取了标题长度,然后又希望在鼠标移动到标题的时候,能显示完整的织梦标题,我们以为使用下面的代码就可以完成:a title=”[field:title/]” href…
问:想和你咨询个问题,就是我用的dede在后台添加一篇文章dede就死机了。是怎么回事的。我是部队上的,是自己的服务器的。答:一直是这样死机还是突然是这样呢?问:也不是一直也不是突然的,我以的的系统有…
织梦图片集 上传图片不能上传 弹出提示302这个问题是前两天遇到的,有位神人已经解决了。方法分享给大家,如下:解决方法是:在include/userlogin.class.php文件中的第二行session_star…
关于dede织梦cms如何防止黑客攻击的几点建议 这些方法也是从网上搜集的 希望对大家有用1、修改后台目录:安装好网站之后第一步就应该修改后台目录,把默认的dede随意改成其他名字,最好是MD5加密形式的;(一般…
安装织梦dedecms程序后程序后台主页会提示出需要修改管理员名称,但是从后台默认是改不了的,修改时提示不能修改id为1的管理员名称,下面将如何修改织梦(dede)cms修改管理员名称的方法提供给大家:用后台的sql…
自从dedecms织梦系统更新到6.7日的版本,底部版权信息调用标签{dede:global.cfg_powerby/}会自动加上织梦官方 的链接[PowerbyDedeCms],想必很多新用户使用中都想去除这个官方的链接,由于这是官方的作为,本文…