DedeCMS首页,列表页,内容页全站调用会员信息
前面有利用ajax全站调用会员信息的帖子,用dedecms默认的{dede:memberinfos}标签,也能全站调用会员信息。
{dede:memberinfos} 会员头像:<a href="[field:spaceurl /]" class="userface"><img src="[field:face/]" width="52" height="52" /></a> 会员用户名:<a href="[field:spaceurl /]" class="username">[field:uname/]</a> 会员详细资料:<a href="[field:spaceurl /]" class="useract-vi">查看详细资料</a> 给他留言:<a href="[field:spaceurl /]&action=guestbook" class="useract-pm">发送留言</a> 加为好友:<a href="[field:spaceurl /]&action=newfriend" class="useract-af">加为好友</a> 用户等级:[field:rankname /] 注册时间:[field:jointime function="MyDate('Y-m-d H:m',@me)"/] 最后登录:[field:logintime function="MyDate('Y-m-d H:m',@me)"/] {/dede:memberinfos}
但是效果并不理想,比如用户等级只显示默认的5、10、15等数字,没有显示注册会员、中级会员、高级会员等中文字符。想调用用户名、昵称、性别、注册邮箱等其他信息,就要参考一下方法。
1.打开/include/extend.fun.php
最后面添加代码
function GetMemberInfos($fields,$mid){ global $dsql; if($mid <= 0){ $revalue = "Error"; } else{ $row=$dsql->GetOne("select * from dede_member where mid = '{$mid}'"); if(!is_array($row)){ $revalue = "Not user"; } else{ $revalue = $row[$fields]; } } return $revalue; }
2.首页调用
{dede:arclist row='10' titlelen='25'} <li>标题:[field:title/] 昵称(作者):[field:mid function="GetMemberInfos('uname',@me)"/]</li> {/dede:arclist}
3.在内页进行调用,调用标签如下:
昵称:{dede:field.mid function="GetMemberInfos('uname',@me)"/} 会员类型:{dede:field.mid function="GetMemberInfos('mtype',@me)"/} 标签DIY释义详解: mid:表示会员的唯一编号,由于其唯一的特性,一般用于区别会员; mtype:表示会员的类型(如自带的“个人”与“企业”); userid:表示会员用户名(也就是用于登陆); pwd :表示用户的密码; uname:表示用户的昵称; sex:表示用户的性别; rank:表示用户的等级(也就是后台的用户级别); uptime:表示用户升级会员组的时间; exptime:表示用户会员组的有效期天数; money:表示用户拥有的剩余金币数量; email:表示用户的注册邮箱地址; scores:表示用户拥有的剩余积分数量; matt:表示用户的级别(0为普通,1为推荐,10为后台超级管理员)