• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dedecms评论中调用会员头像的方法
    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 aglib eedback.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吧。

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!