立即注册 找回密码

QQ登录

只需一步,快速开始

查看: 4272|回复: 0

[Discuz 通用教程] DISCUZ进阶教程-如何自定义等级图标

[复制链接]
发表于 2015-12-9 01:15:41 | 显示全部楼层 |阅读模式
道勤网-数据www.daoqin.net

亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net

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

x
本帖最后由 学习NO.1 于 2015-12-9 01:17 编辑

现在站长的要求是越来越多了,很多奇奇怪怪的问题都会提出,比如”php虚拟主机哪家好?香港锋讯找道勤”。好了,不开玩笑了。言归正传,其实这次是一个朋友拜托道勤小编(www.daoqin.net)帮忙设置下discuz论坛会员的等级图标的,道勤小编心想换个图标而已,应该不难,就承接了下来。
其实等级图标在后台是不能自定义设置的,唯一可以设置的就是等级的阀值,这个是控制等级升级图标的变更,它其实就像qq的等级中四个星星代表一个月亮,如果现在等级是三个星星,再升一级后就会变成了月亮,那这个阀值其实就是4。在discuzX中默认的阀值是2,这个其实就是说一个月亮代表的是两个星星。这个具体设置的位置是:后台管理->界面->界面设置->帖子内容页中的“星星升级阀值”。
下面就说下怎么自定义等级图标:
第一步,准备图标的各等级图片
在static/image/common下有三个图片文件
star_level1.gif star_level2.gif star_level3.gif
这三个是discuzX默认的等级图标,星星,月亮和太阳。如果我们只是想更换图标只要替换这三个图标文件就可以了。
那么如果我们要深度自定义等级图标怎么办呢,比如像淘宝那样先是单心,双心,蓝钻,黄钻,皇冠,黄冠,紫冠这样呢?
我们首先上传等级图标文件到static/image/common下,文件名为
star_level1.gif star_level2.gif star_level3.gif star_level4.gif star_level5.gif star_level6.gif star_level7.gif
已经有的图标文件直接替换即可。
第二步:修改控制代码
然后修改程序文件source/function/function_forumlist.php
找到335行开始的function showstars($num)函数
  1. function showstars($num) {

  2. global $_G;

  3. $return = '';

  4. $alt = 'alt="Rank: '.$num.'"';

  5. if(empty($_G['setting']['starthreshold'])) {

  6. for($i = 0; $i < $num; $i++) {

  7. $return .= '<img src="'.$_G['style']['imgdir'].'/star_level1.gif" '.$alt.' />';

  8. }

  9. } else {

  10. for($i = 3; $i > 0; $i--) {

  11. $numlevel = intval($num / pow($_G['setting']['starthreshold'], ($i - 1)));

  12. $num = ($num % pow($_G['setting']['starthreshold'], ($i - 1)));

  13. for($j = 0; $j < $numlevel; $j++) {

  14. $return .= '<img src="'.$_G['style']['imgdir'].'/star_level'.$i.'.gif" '.$alt.' />';

  15. }

  16. }

  17. }

  18. return $return;

  19. }
复制代码
修改为
  1. function showstars($num) {

  2. global $_G;

  3. $return = '';

  4. $alt = 'alt="Rank: '.$num.'"';

  5. if(empty($_G['setting']['starthreshold'])) {

  6. for($i = 0; $i < $num; $i++) {

  7. $return .= '<img src="'.$_G['style']['imgdir'].'/star_level1.gif" '.$alt.' />';

  8. }

  9. } else {

  10. for($i = 7; $i > 0; $i--) {

  11. $numlevel = intval($num / pow($_G['setting']['starthreshold'], ($i - 1)));

  12. $num = ($num % pow($_G['setting']['starthreshold'], ($i - 1)));

  13. for($j = 0; $j < $numlevel; $j++) {

  14. $return .= '<img src="'.$_G['style']['imgdir'].'/star_level'.$i.'.gif" '.$alt.' />';

  15. }

  16. }

  17. }

  18. return $return;

  19. }
复制代码
效果如下:

DISCUZ进阶教程-如何自定义等级图标

DISCUZ进阶教程-如何自定义等级图标

道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题! 如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服! 如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

道勤网- 推荐内容!上一条 /2 下一条

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

关于我们|手机版|小黑屋|地图|【道勤网】-www.daoqin.net 软件视频自学教程|免费教程|自学电脑|3D教程|平面教程|影视动画教程|办公教程|机械设计教程|网站设计教程【道勤网】 ( 皖ICP备15000319号-1 )

GMT+8, 2024-11-15 20:07

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

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