使用织梦建站过程中会大大小小不断的遇到问题,随着自己对网站的要求越来越高,就不得不新增一些功能,这不互补网之前就想给首页每个DEDE模板下面调用该模版的发布者信息,经过研究完美在dede:arclist中调用出发布者会员名/昵称。
第一步:修改代码
打开/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_为数据库前缀,记得修改,否则将会出现 no user name提示。
第二步:
在首页dede:arclist中可通过以下代码调用。
[field:mid function="GetMemberInfos('uname',@me)"/]在内容页调用当前文章发布者姓名
{dede:field.mid function="GetMemberInfos('uname',@me)"/}在首页调用文章列表时,完整调用会员名称的方法
{dede:arclist row='8' titlelen='20'} <li>标题:[field:title/] 昵称:[field:mid function="GetMemberInfos('uname',@me)"/]</li> {/dede:arclist}扩展阅读:
如果需要调用会员的用户名,则只需要将uname更换为userid即可。这里的值是支持member表的所有字段的。大致为如下一些:
mid 表示会员的唯一编号,由于其唯一的特性,一般用于区别会员;
mtype 表示会员的类型(如自带的“个人”与“企业”);
userid 表示会员用户名(也就是用于登陆);
pwd 表示用户的密码;
uname 表示用户的昵称;
sex 表示用户的性别;
rank 表示用户的等级(也就是后台的用户级别);
uptime 表示用户升级会员组的时间;
exptime 表示用户会员组的有效期天数;
money 表示用户拥有的剩余金币数量;
email 表示用户的注册邮箱地址;
scores 表示用户拥有的剩余积分数量;
matt 表示用户的级别(0为普通,1为推荐,10为后台超级管理员)
这一种方法可以多次使用灵活修改使用,这就是织梦的强大之处。