做模板的时候,关于当前登录会员信息,通常只调用一些功能设置和消息类的。很多可以从默认模板中提取,额外的的一些全局变量网上也有贴出来。
- $_G[‘member’][uid] => UID
- $_G[‘member’][email] => 邮箱地址
- $_G[‘member’][username] => 用户名
- $_G[‘member’][password] => 经过MD5后的密码
- $_G[‘member’][status] => 用户是否已经删除
- $_G[‘member’][emailstatus] => 邮箱验证状态 0未验证 1验证通过
- $_G[‘member’][avatarstatus] => 头像上传状态 0未上传 1已上传
- $_G[‘member’][videophotostatus] => 视频认证 0未认证 1已认证
- $_G[‘member’][adminid] => 所在管理组ID
- $_G[‘member’][groupid] => 所在用户组ID
- $_G[‘member’][groupexpiry] => 所在用户组有效期
- $_G[‘member’][extgroupids] => 扩展用户组
- $_G[‘member’][regdate] => 注册时间
- $_G[‘member’][credits] => 现有总积分
- $_G[‘member’][notifysound] => 短消息声音
- $_G[‘member’][timeoffset] => 所在时区
- $_G[‘member’][newpm] => 新短消息数量
- $_G[‘member’][newprompt] => 新提醒数量
- $_G[‘member’][accessmasks] => 这个貌似访问权限,不确定
- $_G[‘member’][allowadmincp] => 是否拥有管理面板权限 0否 1是
- $_G[‘member’][onlyacceptfriendpm] => 是否只接受好友短消息 0否 1是
- $_G[‘member’][conisbind] => 是否绑定QQ 0否 1是
- $_G[‘member’][lastvisit] => 上次访问时间
复制代码
以上这些是调用当前登录用户信息的全局变量,当然,作为资料来说,这是不完整的。
想要调用出更多信息,可以有很多种方法,总之都是来源于数据库。因为对php代码不熟悉,所以我的做法比较直接,直接调用数据库字段(discuz数据字典)。
比如,调用用户统计表里的信息,表名为pre_common_member_count,查询代码为:
- <!–{eval $user_conts = C::t(common_member_count)->fetch_all($_G[‘uid’]);}–>
复制代码
查询表common_member_count(其中pre_省略了),按$_G[‘uid’],即当前登录ID查询。
loop一下,
- <!–{loop $user_conts $user_cont}–>
复制代码
其中$user_conts $user_cont命名随意,别太普遍就行,这写法我也不懂什么意思……总之这么写管用就行呗。
loop里开始调用内容,根据数据字典里字段说明,帖子数是posts,那么这里就$user_cont[‘posts’]来调用。
其他的:
- <p> – 主题:<!–{$user_cont[‘threads’]}–></p>
- <p> – 日志:<!–{$user_cont[‘blogs’]}–></p>
- <p> – 记录:<!–{$user_cont[‘doings’]}–></p>
- <p> – 相册:<!–{$user_cont[‘albums’]}–></p>
- <p> – 分享:<!–{$user_cont[‘sharings’]}–></p>
- <p> – 附件:<!–{$user_cont[‘attachsize’]}–></p>
- <p> – 好友:<!–{$user_cont[‘friends’]}–></p>
- <p> – 广播:<!–{$user_cont[‘feeds’]}–></p>
- <p> – 听众:<!–{$user_cont[‘follower’]}–></p>
- <p> – 收听:<!–{$user_cont[‘following’]}–></p>
- <p> – 新听众:<!–{$user_cont[‘newfollower’]}–></p>
- <p> – 黑名单:<!–{$user_cont[‘blacklist’]}–></p>
- <p> – 空间查看:<!–{$user_cont[‘views’]}–></p>
复制代码
等等等等吧。。
结束时别忘了
- <!–{/loop}–>
复制代码
那么,以此类推,调用其它表内的信息就是换个表名。
loop及loop里面,模仿上面的写法即可。
好了,调用当前登录用户信息已经OK。
转自 魔趣吧
discuz 调用当前登陆用户勋章图标
查询:
- $user_medal = C::t(‘common_member_medal’)->fetch_all_by_uid($_G[‘uid’]);
- foreach($user_medal as $k=>$value){
- $us_medal = reset(C::t(‘forum_medal’)->fetch_all_by_id($value[‘medalid’]));
- $user_medals[$k] = $us_medal;
- $user_medals[$k][‘image’] = ‘static/image/common/’.$us_medal[‘image’];
- }
复制代码
调用,
- <!–{loop $user_medals $value}–>
- $value[‘image’]
- <!–{/loop}–>
discuz 调用认证图标
今天自己用到,所以找了下出现过用户认证图标的模板,home/space_card.htm,看了下关于认证图标的代码:
复制代码 重点在于<!–{if $space[‘verify’.$vid] == 1}–>,里面的$space[‘verify’.$vid]是认证类型1-7,$space是空间里是变量不能在别处用,所以需要自己查下表pre_common_member_verify,改后代码:
复制代码 注意把“用户UID”换成变量。
|