Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] <---- 主题显示略缩的作者头像---->

[复制链接]
freeher 发表于 2006-10-3 01:26:34 | 显示全部楼层 |阅读模式
我真得觉得我帖子、以及后面的补充说明写得很说细了。
请有任何疑问的朋友暂时自己翻翻帖子,注意一下细节,多实践几次。
对于HTML和CSS的疑问建议大家做到两点:一是下载HTML和CSS手册。二是查看别人的源代码。
有时间我还会把这个帖子整理一下。 我能力有限,所作也仅此而已。2006-11-06



1。参考 https://discuz.dismall.com/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



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

打了一个瞌睡,一醒来发现居然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]下载,将两个文件上传到相应的咱径 。[附件解决因为系统不同出现的路径问题现在已更新]

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 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

我上网来摘星星 发表于 2006-10-3 01:28:00 | 显示全部楼层
占道,打劫后面的,我狂顶!!!!!!!

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


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

[ 本帖最后由 我上网来摘星星 于 2006-10-7 14:29 编辑 ]
回复

使用道具 举报

bvtc 发表于 2006-10-3 01:28:16 | 显示全部楼层
来也!!!!!!!!!!!!
回复

使用道具 举报

bvtc 发表于 2006-10-3 01:28:38 | 显示全部楼层
来吧!!!!!!!!!!快点啦!!!!!!!!!!!!!!!
回复

使用道具 举报

bvtc 发表于 2006-10-3 01:29:42 | 显示全部楼层
好东西哦!!!!!!!!!!!!!快点出来哦!!!!!!!!!!!!!!!!!!!

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

[ 本帖最后由 bvtc 于 2006-10-3 01:36 编辑 ]
回复

使用道具 举报

woai80 发表于 2006-10-3 01:30:16 | 显示全部楼层
好东西哦,等哦
回复

使用道具 举报

 楼主| freeher 发表于 2006-10-3 01:31:00 | 显示全部楼层

回复 #5 bvtc 的帖子

以前的没有生成缩略图。加速forumdisplay的时候影响速度。
回复

使用道具 举报

bvtc 发表于 2006-10-3 01:31:12 | 显示全部楼层
好累啊!!!!!!!!!!!!!!我想再做一下啦!!!!!!!!!!!!!!
回复

使用道具 举报

bvtc 发表于 2006-10-3 01:32:56 | 显示全部楼层

回复 #7 freeher 的帖子

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

使用道具 举报

gg99 发表于 2006-10-3 01:36:57 | 显示全部楼层
速度好的话就用!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-22 21:30 , Processed in 0.031620 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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