大家好,在制作用户分享类网站时要在内容页中调用发布者的信息及头像,找了很多网站也没找到很好的方法。最后把网上所有的方法整合后终于实现了自己的想法。下面就分享给大家。
方法一、直接利用官方默认模板article_artcile.htm
{dede:memberinfos}
会员头像:<a href=http://www.dede58.com/"[field:spaceurl /]" class="userface"><img src=http://www.dede58.com/"[field:face/]" width="52" height="52" /></a>
会员用户名:<a href=http://www.dede58.com/’[field:spaceurl /]‘ class="username">[field:uname/]</a>
会员详细资料:<a href=http://www.dede58.com/"[field:spaceurl /]" class="useract-vi">查看详细资料</a>
给他留言:<a href=http://www.dede58.com/"[field:spaceurl /]&action=guestbook" class="useract-pm">发送留言</a>
加为好友:<a href=http://www.dede58.com/"[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}
可能很多新手在这里调用时看不到自己的信息,这是因为{dede:memberinfos}过滤了管理员的信息,其它会员的信息能正常显示。那怎么才能让管理员的信息也能显示呢?请看下面:
打开include/taglib/memberinfos.lib.php,找到大概62行的代码如下图:
把这一句删除或注释掉就行了。
方法2:
比如你想在DEDE首页或者内页里调用会员:用户名、昵称、性别、会员等级、注册邮箱、会员级别等信息.就需要我们本篇教程提供的调用标签了.
首先,我们打开文件 include/extend.func.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;
}
注:“dede_member”里的“dede_”改成你的数据库表前缀
修改好代码之后即可保存文件,然后我们来调用会员信息:
1.在首页进行调用,调用标签如下:
{dede:arclist row=’10′ titlelen=’25′}
<li>标题:[field:title/] 昵称:[field:mid function="GetMemberInfos('uname',@me)"/]</li>
{/dede:arclist}
2.在内页进行调用,调用标签如下:
昵称:{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为后台超级管理员)