POST TIME:2018-10-30 11:34
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 aglibeedback.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吧。