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

主题显示略缩的作者头像 For Discuz 5.5 V1.0

2007-04-26

1.已经有朋友写出来了关于装评分后的冲突问题,请看
http://www.discuz.net/thread-601831-1-1.html

2.关于头像位置问题
主要就是CSS的修改, 看看别人网站改好的代码,就知道怎么下手了.
我这里没有写出来,一是因为我懒,二是懂得一些HTML和CSS对做网站很重要,算是我逼你们学点东西吧.

3.关于公告头像的问题
公告的头像调用可能在最新的版本里面会发布

4.关于生成缩略图大小的问题.
修改ImageCore.inc.php的参数,具体的方法我在 5.0版的里面就写了.其实Imagecore.inc.php里面的东西看一下就懂.

5.关于这个插件是否会影响速度
我不骗你,加了东西,理所当然会影响速度.
影响多少我不知道, 访问一下回帖里面的URL不就知道快还是慢了. DZ再快,总快不过纯文本的HTML吧.

6.有没有继续更新插件的想法.
不要以为 1.0 后面就应该有 1.5 2.0
我忙,我还是个懒汉,而且我的PHP水平很菜.别等我动手写了,这个东西不难,自已动手DIY,你会做得比你自己想像的还要好.

7.为什么发给我的PM或QQ消息我都没回复.
因为我曾经回过好多次,重复做同样的事情,很让人为难.

================================================================================




写在发布前



主题显示略缩的作者头像 For  Discuz 5.5  只是修改了 For DZ5.0 的几行代码。
如果您发现这些代码有不足之处,还请提点。
如果您愿意自己动手,也许能做得更好。

参考网站 http://www.v2ex.com  http://www.sunschina.com

HACK 特点
1.主题帖作者缩略头像会在 forumdisplay.php [帖子列表] 显示
2.缩略头像因为是采用GD库生成的头像,所以体积小,不影响网页加载
3.这样做会使你的页面很酷,对于提高论坛用户的积极性有一定的效果


演示论坛:   http://www.52guixi.com/bbs/

一些建议:
1.您最好能有一款好一点的文本编辑器,记事本看代码人很容易晕[我用的是Editplus]
2.您最好能安装本地调试环境,这比上传一次再刷新方便多了[我以前用微米天空的套件,现在用的是WAMPS,两个都不错]
3.如果您想更好的使用Discuz, 我建意您去下载三本CHM手册 分别是 HTML手册  CSS手册 和 PHP手册 , 如果有必要 MYSQL 手册也去下载一本.



安装中要修改或者增加的文件
/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 [新增,用于对以前上传的头像进行批量略缩,运行一次必须删除]
==========================修改方法========================================
分别在
bbs/images/avatars/
bbs/customavatars/
两个目录内各建一个 /s 目录,用来存放缩略文件,权限为 777



请先将附件下载并上传,且将文件权限改为777,附件内一共包括三个文件

upload.rar (3.53 KB)

ImageCore.func.php --->bbs/include/ImageCore.func.php
img_s.php ----->bbs/  
noavatar.gif----->bbs/images/avatars/s/noavatar.gif

然后再按下面的方法修改




1. 打开 /bbs/memcp.php
  1. require_once './include/common.inc.php';
复制代码
后面添加
  1. require DISCUZ_ROOT.'./include/ImageCore.func.php';
复制代码
找到
  1.                         $avatar = 'customavatars/'.$discuz_uid.'.'.$avatarext;
  2.                         $avatartarget = DISCUZ_ROOT.'./'.$avatar;
  3.                         if(!@copy($_FILES['customavatar']['tmp_name'], $avatartarget)) {
  4.                                 @move_uploaded_file($_FILES['customavatar']['tmp_name'], $avatartarget);
  5.                         }
复制代码
后面添加
  1. if(file_exists($avatartarget)) {
  2.                         $avatarx = 'customavatars/s/'.$discuz_uid.'.'.$avatarext;
  3.                         @copy ($avatar,$avatarx);                                       
  4.                         @vxResize($avatarx,$avatarx);}
复制代码
找到
  1. if(preg_match("/^(images\/avatars\/.+?)|(customavatars\/.+?)$/i", $urlavatar) || (ini_get('allow_url_fopen') && (substr(PHP_OS, 0, 3) != 'WIN' || PHP_VERSION >= 5))){
  2.                                 $avatarimagesize = @getimagesize($urlavatar);
  3.                         }
  4.                         $avatar = $urlavatar;
复制代码
后面添加
  1. $avatarx = 'images/avatars/s/noavatar.gif';
复制代码
找到
  1. } elseif(($allowavatar == 1 || $allowavatar == 2 || $allowavatar == 3) && $urlavatar) {
  2.                         if(!preg_match("/^(images\/avatars\/.+?)$/i", $urlavatar)) {
  3.                                 showmessage('profile_avatar_invalid');
  4.                         }
  5.                         $avatarimagesize = @getimagesize($urlavatar);
  6.                         $avatar = $urlavatar;
复制代码
后面添加
  1. $avatarx = (str_replace("images/avatars/", "images/avatars/s/", $urlavatarr));
  2.                         @copy ($avatar,$avatarx);
  3.             @vxResize($avatarx,$avatarx);
复制代码
2.找开/bbs/forumdisplay.php  

找到下面的代码,共有三处
  1. query("SELECT t.* FROM {$tablepre}threads t
复制代码
全部替换为
  1. query("SELECT t.* , mf.avatar FROM {$tablepre}threads t
  2.                 LEFT JOIN {$tablepre}memberfields mf ON(mf.uid = t.authorid)
复制代码
找到
  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';}
复制代码
找到
  1.         } else {
  2.                 $thread['highlight'] = '';
  3.         }
复制代码
下面添加
  1. if(!$thread['avatar']){
  2.          $thread['avatarx'] = 'images/avatars/s/noavatar.gif';
  3.         }
复制代码
3. 打开 /bbs/templates/default/forumdisplay.htm

找到
  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='images/avatars/s/noavatar.gif'"  width="16" height="16" /></div>
  3.                                 <!--{else}-->
  4.                                         <div class="avatarx" style="width:22;height=22"><img src="images/avatars/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;}
复制代码
确定修改完毕后 在浏览器里输入 http://youbbs.com/bbs/img_s.php  如果头像数量过多,请等待。
最后记得,一定要删除 img_s.php

[ 本帖最后由 freeher 于 2007-4-26 20:46 编辑 ]
6

评分次数

  • bvtc

  • ljm146

  • yanyouzhi

  • skytsui

  • l23l23

  • vcdesign

乱码问题,可加QQ35645368讨论

成功升至discuz 5.0RC2
我爱贵溪
  
博客小熊
沙发支持!!!!
哈哈,第一次抢到沙发~!

[ 本帖最后由 yhy8064 于 2007-4-7 07:41 编辑 ]
聚点论坛
http://www.ygjd.net
前排
以前DZ5.0版本的那个插件会出现

当帖子评为精华或加分后...上下主题的作者头像对不准确的情况

强烈希望解决这问题

建议作者头像最靠右边..这样就避免了主题之间作者头像对不齐的情况了


楼主说说...........
www.china-tkd.cn我的论坛--爱国--热血--抗日--保钓--跆拳道
这个准不错,谢谢分享!
原帖由 拒买日本货 于 2007-4-6 20:53 发表
以前DZ5.0版本的那个插件会出现

当帖子评为精华或加分后...上下主题的作者头像对不准确的情况

强烈希望解决这问题

建议作者头像最靠右边..这样就避免了主题之间作者头像对不齐的情况了


...
CSS 的东西我正在重写

我以前自己写的CSS并不会出现你所说的情况

这次会顺带把CSS一起放出来
1

评分次数

  • ljm146

乱码问题,可加QQ35645368讨论

成功升至discuz 5.0RC2
我爱贵溪
  
博客小熊
已经用上,谢谢分享。



演示http://city.student163.com/forumdisplay.php?fid=3

[ 本帖最后由 cn256 于 2007-4-6 21:56 编辑 ]
请问这些缩略头像系统会自动生成还是需要我们每次都要运行那个文件进行生成?

非常感谢。
好好学习,天天向上
返回列表