Discuz教程网

[代码修改] Discuz X 1, 1.5, 2默认头像按性别区分

[复制链接]
authicon dly 发表于 2011-5-3 19:38:39 | 显示全部楼层 |阅读模式
第一步
你需要先准备6张图片作为默认的男女头像 分别命名为
男生头像(noavatar_big_boy.gif, noavatar_middle_boy.gif, noavatar_small_boy.gif)
女生头像(noavatar_big_girl.gif, noavatar_middle_girl.gif, noavatar_small_girl.gif)
尺寸分别为 大(250 x 250) 中(120 x 120) 小(48 x 48)
然后上传到你的UCenter目录下的images下。


第二步
使用你的编辑器打开
source/function/function_core.php
找到 大约在335行
  1. function avatar($uid, $size = 'middle', $returnsrc = FALSE, $real = FALSE, $static = FALSE, $ucenterurl = '') {
  2. global $_G;
  3. static $staticavatar;
  4. if($staticavatar === null) {
  5. $staticavatar = $_G['setting']['avatarmethod'];
  6. }

  7. $ucenterurl = empty($ucenterurl) ? $_G['setting']['ucenterurl'] : $ucenterurl;
  8. $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
  9. $uid = abs(intval($uid));
  10. if(!$staticavatar && !$static) {
  11. return $returnsrc ? $ucenterurl.'/avatar.php?uid='.$uid.'&size='.$size : '<img src="'.$ucenterurl.'/avatar.php?uid='.$uid.'&size='.$size.($real ? '&type=real' : '').'" />';
  12. } else {
  13. $uid = sprintf("%09d", $uid);
  14. $dir1 = substr($uid, 0, 3);
  15. $dir2 = substr($uid, 3, 2);
  16. $dir3 = substr($uid, 5, 2);
  17. $file = $ucenterurl.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).($real ? '_real' : '').'_avatar_'.$size.'.jpg';
  18. return $returnsrc ? $file : '<img src="'.$file.'" onerror="this.onerror=null;this.src=\''.$ucenterurl.'/images/noavatar_'.$size.'.gif\'" />';
  19. }
  20. }
复制代码
替换为
  1. function avatar($uid, $size = 'middle', $returnsrc = FALSE, $real = FALSE, $static = FALSE, $ucenterurl = '') {
  2. global $_G;
  3. static $staticavatar;
  4. if($staticavatar === null) {
  5. $staticavatar = $_G['setting']['avatarmethod'];
  6. }
  7. $ucenterurl = empty($ucenterurl) ? $_G['setting']['ucenterurl'] : $ucenterurl;
  8. $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
  9. $uid = abs(intval($uid));
  10. $gender = getusergender($uid); /* Add by Fieah(www.12345.la) */
  11. if(!$staticavatar && !$static) {
  12. return $returnsrc ? $ucenterurl.'/avatar.php?uid='.$uid.'&size='.$size : '<img src="'.$ucenterurl.'/avatar.php?uid='.$uid.'&size='.$size.($real ? '&type=real' : '').($gender ? '&gender='.$gender : '').'" />';
  13. } else {
  14. $uid = sprintf("%09d", $uid);
  15. $dir1 = substr($uid, 0, 3);
  16. $dir2 = substr($uid, 3, 2);
  17. $dir3 = substr($uid, 5, 2);
  18. $gender = $gender ? '_'.$gender : '';
  19. $file = $ucenterurl.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).($real ? '_real' : '').'_avatar_'.$size.'.jpg';
  20. return $returnsrc ? $file : '<img src="'.$file.'" onerror="this.onerror=null;this.src=\''.$ucenterurl.'/images/noavatar_'.$size.''.$gender.'.gif\'" />';
  21. }
  22. }

  23. /* Created by Fieah(www.12345.la) */
  24. function getusergender($uid) {
  25. global $_G;
  26. $data = DB::fetch_first("SELECT gender FROM ".DB::table('common_member_profile')." WHERE uid='$uid'");
  27. switch($data['gender']) {
  28. case 0: $return = ''; break;
  29. case 1: $return = 'boy'; break;
  30. case 2: $return = 'girl'; break;
  31. }
  32. return $return;
  33. }
复制代码
保存覆盖 完成~!








上一篇:DiscuzX 1.5帖内引用仿PHPWind样式
下一篇:Discuz X1.5相当醒目的会员注册提醒 增加8秒自动关闭
authicon kurt226 发表于 2011-5-6 17:08:05 | 显示全部楼层
这个还是不错的!
authicon 蓝天blue 发表于 2011-5-6 17:10:09 | 显示全部楼层
支持!好东西,拿走了!
authicon summmer 发表于 2011-5-6 17:15:46 | 显示全部楼层
感谢分享  收下了·····
authicon nancybingling 发表于 2011-5-6 17:15:55 | 显示全部楼层
前来看看那
authicon yuki佳 发表于 2011-5-6 17:18:36 | 显示全部楼层
这个还是不错的!
authicon D_hong 发表于 2011-5-6 17:29:45 | 显示全部楼层
好东东下下来看看
authicon 婷婷爱牛牛 发表于 2011-5-6 17:36:58 | 显示全部楼层
好东西,要下来看看
authicon 暗夜的烟火 发表于 2011-5-6 17:38:18 | 显示全部楼层
不错不错,我喜欢
authicon 卡卡猫 发表于 2011-5-6 17:38:25 | 显示全部楼层
看一下啊,嘻嘻
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 23:33

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表