discuz 调用当前登录会员信息

做模板的时候,关于当前登录会员信息,通常只调用一些功能设置和消息类的。很多可以从默认模板中提取,额外的的一些全局变量网上也有贴出来

做模板的时候,关于当前登录会员信息,通常只调用一些功能设置和消息类的。很多可以从默认模板中提取,额外的的一些全局变量网上也有贴出来。

  1. $_G[‘member’][uid] => UID
  2. $_G[‘member’][email] => 邮箱地址
  3. $_G[‘member’][username] => 用户名
  4. $_G[‘member’][password] => 经过MD5后的密码
  5. $_G[‘member’][status] => 用户是否已经删除
  6. $_G[‘member’][emailstatus] => 邮箱验证状态 0未验证 1验证通过
  7. $_G[‘member’][avatarstatus] => 头像上传状态 0未上传 1已上传
  8. $_G[‘member’][videophotostatus] => 视频认证 0未认证 1已认证
  9. $_G[‘member’][adminid] => 所在管理组ID
  10. $_G[‘member’][groupid] => 所在用户组ID
  11. $_G[‘member’][groupexpiry] => 所在用户组有效期
  12. $_G[‘member’][extgroupids] => 扩展用户组
  13. $_G[‘member’][regdate] => 注册时间
  14. $_G[‘member’][credits] => 现有总积分
  15. $_G[‘member’][notifysound] => 短消息声音
  16. $_G[‘member’][timeoffset] => 所在时区
  17. $_G[‘member’][newpm] => 新短消息数量
  18. $_G[‘member’][newprompt] => 新提醒数量
  19. $_G[‘member’][accessmasks] => 这个貌似访问权限,不确定
  20. $_G[‘member’][allowadmincp] => 是否拥有管理面板权限 0否 1是
  21. $_G[‘member’][onlyacceptfriendpm] => 是否只接受好友短消息 0否 1是
  22. $_G[‘member’][conisbind] => 是否绑定QQ 0否 1是
  23. $_G[‘member’][lastvisit] => 上次访问时间

复制代码

以上这些是调用当前登录用户信息的全局变量,当然,作为资料来说,这是不完整的。

想要调用出更多信息,可以有很多种方法,总之都是来源于数据库。因为对php代码不熟悉,所以我的做法比较直接,直接调用数据库字段(discuz数据字典)。
比如,调用用户统计表里的信息,表名为pre_common_member_count,查询代码为:

  1. <!–{eval $user_conts = C::t(common_member_count)->fetch_all($_G[‘uid’]);}–>

复制代码

查询表common_member_count(其中pre_省略了),按$_G[‘uid’],即当前登录ID查询。
loop一下,

  1. <!–{loop $user_conts $user_cont}–>

复制代码

其中$user_conts $user_cont命名随意,别太普遍就行,这写法我也不懂什么意思……总之这么写管用就行呗。
loop里开始调用内容,根据数据字典里字段说明,帖子数是posts,那么这里就$user_cont[‘posts’]来调用。
其他的:

  1. <p> – 主题:<!–{$user_cont[‘threads’]}–></p>
  2. <p> – 日志:<!–{$user_cont[‘blogs’]}–></p>
  3. <p> – 记录:<!–{$user_cont[‘doings’]}–></p>
  4. <p> – 相册:<!–{$user_cont[‘albums’]}–></p>
  5. <p> – 分享:<!–{$user_cont[‘sharings’]}–></p>
  6. <p> – 附件:<!–{$user_cont[‘attachsize’]}–></p>
  7. <p> – 好友:<!–{$user_cont[‘friends’]}–></p>
  8. <p> – 广播:<!–{$user_cont[‘feeds’]}–></p>
  9. <p> – 听众:<!–{$user_cont[‘follower’]}–></p>
  10. <p> – 收听:<!–{$user_cont[‘following’]}–></p>
  11. <p> – 新听众:<!–{$user_cont[‘newfollower’]}–></p>
  12. <p> – 黑名单:<!–{$user_cont[‘blacklist’]}–></p>
  13. <p> – 空间查看:<!–{$user_cont[‘views’]}–></p>

复制代码

等等等等吧。。
结束时别忘了

  1. <!–{/loop}–>

复制代码

那么,以此类推,调用其它表内的信息就是换个表名。
loop及loop里面,模仿上面的写法即可。
好了,调用当前登录用户信息已经OK。

转自 魔趣吧

discuz 调用当前登陆用户勋章图标

查询:

  1. $user_medal = C::t(‘common_member_medal’)->fetch_all_by_uid($_G[‘uid’]);
  2. foreach($user_medal as $k=>$value){
  3.         $us_medal = reset(C::t(‘forum_medal’)->fetch_all_by_id($value[‘medalid’]));
  4.         $user_medals[$k] = $us_medal;
  5.         $user_medals[$k][‘image’] = ‘static/image/common/’.$us_medal[‘image’];
  6. }

复制代码

调用,

  1. <!–{loop $user_medals $value}–>
  2. $value[‘image’]
  3. <!–{/loop}–>

discuz 调用认证图标


今天自己用到,所以找了下出现过用户认证图标的模板,home/space_card.htm,看了下关于认证图标的代码:

  1. <!–{if $_G[‘setting’][‘verify’][‘enabled’]}–>
  2. <!–{loop $_G[‘setting’][‘verify’] $vid $verify}–>
  3.         <!–{if $verify[‘available’] && $verify[‘showicon’]}–>
  4.                 <!–{if $space[‘verify’.$vid] == 1}–>
  5.                         <a href=”home.php?mod=spacecp&ac=profile&op=verify&vid=$vid” target=”_blank”><!–{if $verify[‘icon’]}–><img src=”$verify[‘icon’]” class=”vm” alt=”$verify[title]” title=”$verify[title]” /><!–{else}–>$verify[title]<!–{/if}–></a>
  6.                 <!–{elseif !empty($verify[‘unverifyicon’])}–>
  7.                         <a href=”home.php?mod=spacecp&ac=profile&op=verify&vid=$vid” target=”_blank”><!–{if $verify[‘unverifyicon’]}–><img src=”$verify[‘unverifyicon’]” class=”vm” alt=”$verify[title]” title=”$verify[title]” /><!–{/if}–></a>
  8.                 <!–{/if}–>
  9.         <!–{/if}–>
  10. <!–{/loop}–>
  11. <!–{/if}–>

复制代码

重点在于<!–{if $space[‘verify’.$vid] == 1}–>,里面的$space[‘verify’.$vid]是认证类型1-7,$space是空间里是变量不能在别处用,所以需要自己查下表pre_common_member_verify,改后代码:

  1. <!–{if $_G[‘setting’][‘verify’][‘enabled’]}–>
  2.         <!–{loop $_G[‘setting’][‘verify’] $vid $verify}–>
  3.                 <!–{if $verify[‘available’] && $verify[‘showicon’]}–>
  4.                 <!–{eval $cmv=DB::fetch_all(“select * from “.DB::table(“common_member_verify”).” where `uid`=’用户UID'”)}–>
  5.                         <!–{if $cmv[0][‘verify’.$vid] == 1}–>
  6.                                 <a href=”home.php?mod=spacecp&ac=profile&op=verify&vid=$vid” target=”_blank” class=”UserLink-badge”><!–{if $verify[‘icon’]}–><img src=”$verify[‘icon’]” class=”vm” alt=”$verify[title]” title=”$verify[title]” /><!–{else}–>$verify[title]<!–{/if}–></a>
  7.                         <!–{elseif !empty($verify[‘unverifyicon’])}–>
  8.                                 <a href=”home.php?mod=spacecp&ac=profile&op=verify&vid=$vid” target=”_blank” class=”UserLink-badge”><!–{if $verify[‘unverifyicon’]}–><img src=”$verify[‘unverifyicon’]” class=”vm” alt=”$verify[title]” title=”$verify[title]” /><!–{/if}–></a>
  9.                         <!–{/if}–>
  10.                 <!–{/if}–>
  11.         <!–{/loop}–>
  12. <!–{/if}–>

复制代码

注意把“用户UID”换成变量。

 

柳华芳
柳华芳

奔向光明之地

文章: 1201
订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x