Manyou诚邀开发者加盟 | 常见问题
《站长》俱乐部官方群公布 城市联络员机会多多
立即免费下载 Discuz!7.0.0 正式版
安装升级指南 | 用户手册 | 新手建站学堂
基于.net架构的Discuz!NT2.6正式版发布
Comsenz公司2009年招贤纳士,期待您的加盟
Discuz!收费服务内容及价格
7月重庆、成都、西安三地社区运营实战特训速报名
Discuz!/UCHome 专用官方虚拟主机
牧场新服一起联运:豆浆机免费带回家
基于Discuz!的免费论坛空间5D6D
康盛创想《站长》俱乐部18城市互动之旅报名ing
返回列表 回复 发帖

<---- 主题显示略缩的作者头像---->

我真得觉得我帖子、以及后面的补充说明写得很说细了。
请有任何疑问的朋友暂时自己翻翻帖子,注意一下细节,多实践几次。
对于HTML和CSS的疑问建议大家做到两点:一是下载HTML和CSS手册。二是查看别人的源代码。
有时间我还会把这个帖子整理一下。 我能力有限,所作也仅此而已。2006-11-06



1。参考 http://www.discuz.net/thread-411777-1-1.html
     v2ex.com
2。主题作者头像会以GD生成的略缩图形式显示,丰富页面内容,不影响网页加载速度。
4。缩略图采用反锯齿失真,中心剪裁不变形[也可自定义]
3。进度 100%
5。演示地址 http://www.52guixi.com

更新记录
0-1.2006年10月5日 19:38:58   更新匿名发帖不显示头像,19:40:21 前修改过的按 3.1.1 重新修改 forumdisplay.htm

s.JPG
2006-10-5 04:57


-------------------------------------------------------------------------------传说中的分割线------------------------------------------------------------------------------------

打了一个瞌睡,一醒来发现居然OK了。先上一张图上来,开始写修改方法ING.

1。修改文件和要用到的文件

  • /bbs/memcp.php
  • /bbs/forumdisplay.php  
  • /bbs/templates/default/forumdisplay.htm
  • /bbs/templates/default/css.htm [定义缩略头像样式]
  • /bbs/include/ImageCore.func.php [新增]
  • /bbs/img_s.php [新增,用于对以前上传的头像进行批量略缩,运行一次必须删除]

2。修改方法  
    2.1 打开/bbs/memcp.php
     2.1.1     找到
  1. require_once './include/common.inc.php';
复制代码
下面添加
  1. require DISCUZ_ROOT.'./include/ImageCore.func.php';
复制代码
2.1.2    找到
  1.                         foreach($avatarextarray as $ext) {
  2.                                 if($ext != $avatarext) {
  3.                                         @unlink(DISCUZ_ROOT.'./customavatars/'.$discuz_uid.'.'.$ext);
  4.                                 }
  5.                         }
复制代码
下面添加
  1. if(file_exists($avatartarget)) {
  2.                         $avatarx = 'customavatars/s/'.$discuz_uid.'.'.$avatarext;
  3.                         @copy ($avatar,$avatarx);                                       
  4.                         @vxResize($avatarx,$avatarx);}
复制代码
2.1.3 找到
  1. $avatarimagesize = @getimagesize($urlavatar);
  2.                         $avatar = $urlavatar;
复制代码
替换成
  1. if(!preg_match("/^(images\/avatars\/.+?)$/i", $urlavatar)) {
  2.                         $avatarimagesize = @getimagesize($urlavatar);
  3.                         $avatar = $urlavatar;
  4.                         }else{
  5.                                 $avatar=$systemavatar;
  6.                                 $avatarx = (str_replace("images/avatars/", "images/avatars/s/",$systemavatar));
  7.                                 @copy ($avatar,$avatarx);
  8.                                 @vxResize($avatarx,$avatarx);
  9.                         }
复制代码
2.1.4 找到
  1.                         $avatarimagesize = @getimagesize($systemavatar);
  2.                         $avatar = $systemavatar;
复制代码
下面加上
  1.                         $avatarx = (str_replace("images/avatars/", "images/avatars/s/",$systemavatar));
  2.                         @copy ($avatar,$avatarx);
  3.                         @vxResize($avatarx,$avatarx);
复制代码
2.2 打开 /bbs/forumdisplay.php  
2.2.1找到
  1. SELECT $dotadd1 t.* FROM {$tablepre}threads t $dotadd2
复制代码
替换成
  1. SELECT $dotadd1 t.*, mf.avatar FROM {$tablepre}threads t $dotadd2
  2.   LEFT JOIN {$tablepre}memberfields mf ON(mf.uid = t.authorid)
复制代码
一共三处。三个地方是紧挨着的。

2.2.2找到
  1. } else {
  2.   $thread['highlight'] = '';
  3. }
复制代码
后面加上
  1. if(!$thread['avatar']){
  2.   $thread['avatarx'] = 'images/avatars/s/noavatar.gif';
  3. }
复制代码
2.2.3 找到
  1. $thread['lastposterenc'] = rawurlencode($thread['lastposter']);
复制代码
下面添加
  1.                 if(preg_match("/^(customavatars\/.+?)$/i", $thread['avatar'])) {
  2.                         $thread['avatarx'] = str_replace("customavatars/", "customavatars/s/", $thread['avatar']);
  3.                 }elseif (preg_match("/^(images\/avatars\/.+?)$/i",$thread['avatar'])) {
  4.                 $thread['avatarx'] = str_replace("images/avatars/", "images/avatars/s/", $thread['avatar']);
  5.         } else { $thread['avatarx'] = 'images/avatars/s/noavatar.gif';}
复制代码
3.1 打开 /bbs/templates/default/forumdisplay.htm
3.1.1找到
  1. </td><td class="f_author">
复制代码
后面加上
  1. <!--{if $thread['authorid'] && $thread['author']}-->  
  2.                 <div class="avatarx" style="width:22;height=22"><img src="$thread['avatarx']" onerror="src='customavatars/s/noavatar.gif'"  width="16" height="16" /></div>
  3.                                 <!--{else}-->
  4.                                         <div class="avatarx" style="width:22;height=22"><img src="customavatars/s/noavatar.gif"  width="16" height="16" /></div>                 <!--{/if}-->
复制代码
4 在的 /bbs/templates/default/css.htm 最后面加上
  1. .avatarx {
  2. border: 1px solid #ccc;
  3. background-color: :#fff;
  4. padding: 2px;
  5. float:left;}
复制代码
5. 将下面的附件[upload.rar]下载,将两个文件上传到相应的咱径 。[附件解决因为系统不同出现的路径问题现在已更新]
[attach]79076[/attach]
ImageCore.func.php --->bbs/include/ImageCore.func.php
img_s.php ----->bbs/  
两个文件上传完毕后,IE会出现 overflow 是因为你还没有运行 img_s.php,所以找不到图片, 先运它一次,再更新缓存即可。
如果是 *nix 系统,记得将 img_s.php 属性改为777 win主机不用改属性
[img_s.php运行完后务必要删除]

用DZ很久了,却是第一次写这种东西,真的写得很费神[所以俺跳票了,不过现在补上了],有不足之处见笑了。

您要是觉得俺确实是辛苦了,送俺一个IP吧。 http://www.52guixi.com/bbs/


[ 本帖最后由 freeher 于 2006-11-6 08:44 编辑 ]

upload_4.rar (2.42 KB)

1

评分次数

  • ApLinD

乱码问题,可加QQ35645368讨论

成功升至discuz 5.0RC2
我爱贵溪
  
博客小熊
占道,打劫后面的,我狂顶!!!!!!!

好东西,值得学习,ip+注册


已经搞定,再次感谢!!!黄金广告位招租!  http://bbs.xvsky.com

[ 本帖最后由 我上网来摘星星 于 2006-10-7 14:29 编辑 ]
..::上网摘星星::..
本ID纯属虚构,请勿模仿试验!不听劝告者除没收非法所得并承担所有后果外依法追究其星事责任!
来也!!!!!!!!!!!!
来吧!!!!!!!!!!快点啦!!!!!!!!!!!!!!!
好东西哦!!!!!!!!!!!!!快点出来哦!!!!!!!!!!!!!!!!!!!

我现在论坛的会员头像图片是140*226的!!
你里面的图片是22*22的!!这样到时候我的头像图片不知道缩成什么样子哦z

[ 本帖最后由 bvtc 于 2006-10-3 01:36 编辑 ]
好东西哦,等哦
每天发觉自己,每天改变自己,每天完美自己.

回复 #5 bvtc 的帖子

以前的没有生成缩略图。加速forumdisplay的时候影响速度。
乱码问题,可加QQ35645368讨论

成功升至discuz 5.0RC2
我爱贵溪
  
博客小熊
好累啊!!!!!!!!!!!!!!我想再做一下啦!!!!!!!!!!!!!!

回复 #7 freeher 的帖子

不过这个打开贴子会不会很慢啊!!!!
我想加载起来不知道论坛的速度怎么样!!!!!!!不过还是支持你
速度好的话就用!
返回列表