DEDECMS列表页/内容页调用当前文档作者的会员头像的方法

一、实现方法 1)内容

首先,我们知道,在内容调用当前文档作者的ID代码为{dede:field.mid/},但这个标签只能调用作者的mid编码。要想调用具体的文档ID,就必须对会员表(dede_member)来进行检索,检索的SQL语句为:

折叠SQL 代码复制内容到剪贴板

select * from dede_member where mid = 会员MID编号

刚才呢,我们已经将mid使用{dede:field.mid/}标签调用出来了,现在我们要做的就是赋值进去查询即可。故,完整代码为:

折叠XML/HTML 代码复制内容到剪贴板 

引用

{dede:field.mid runphp='yes'}

    $id = @me;

    if($id <> 0){

        $sql = "select * from dede_member where mid = $id";

        $query = mysql_query($sql);

        $row = mysql_fetch_array($query);

        if($row['face'] == ''){

            @me = '作者头像:<img src="/member/templets/images/dfboy.png" />';

        }

        else{

            $face = $row['face'];

            @me = '作者头像:<img src="'.$face.'" />';

        }

    }

    else{

        @me = '游客发表';

    }

{/dede:field.mid}

 

2)列表

和1)中分析的原理是完全一样的,只是在这里由于在列表页,需要赋值的不是{dede:field.mid/},而是[field:mid/]。故完整代码为:

折叠XML/HTML 代码复制内容到剪贴板 

引用

[field:mid runphp='yes']

    $id = @me;

    if($id <> 0){

        $sql = "select * from dede_member where mid = $id";

        $query = mysql_query($sql);

        $row = mysql_fetch_array($query);

        if($row['face'] == ''){

            @me = '作者头像:<img src="/member/templets/images/dfboy.png" />';

        }

        else{

            $face = $row['face'];

            @me = '作者头像:<img src="'.$face.'" />';

        }

    }

    else{

        @me = '游客发表';

    }

[/field.mid]

 

二、分析及解释 1)本文上述代码的特点有:

对文档作者进行了判断,如果是游客投稿,则不进行查询而直接输出“游客发表”,当前,这里您也可以直接置空;

对会员头像做了简单的判断,如果会员没有上传头像(即头像为空)时,则输出“/member/templets/images/dfboy.png”路径的默认图片;

2)其它说明及辅助:

本实例还有继续优化的可能性(比如会员头像为空时,判断会员的性别,对不同的姓别分别输出不同的默认头像);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/67a32e33089d5d8475aad9cdc4ec32e8.html