ag游戏客服|官方二次开发

?找回密码
?立即注册
搜索
热搜: 活动 交友 discuz
查看: 1011|回复: 0
打印 上一主题 下一主题

[其它] ag游戏客服|官方二次开发:动态增加下载按扭颜色

[复制链接]

60

主题

62

帖子

825

积分

管理员

Rank: 9Rank: 9Rank: 9

金币
38
贡献
725
跳转到指定楼层
楼主
发表于 2018-11-7 15:13:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
??如果只看标题好象不好理解,我们在淘宝等商城上面买东西时,会有一个“立即购买”和“加入到购物车”两个按扭,如下图所示:


??大家看看这两个按扭的颜色是不一样的,而ag游戏客服|官方默认的下载功能可以实现动态的生成两个按扭,但是,颜色是完全一样的,如下图所示:



开发要求:

??下载按扭要像淘宝上面的两个按扭一样,颜色要不一样,并且,在ag游戏客服|官方后台增加下载按扭后,生成的颜色都要不一样,至少要保持三个不同颜色的按扭。

??可能有人觉得直接用css实现不就行了,其实这个用css3也可以实现,只要给生产的按扭定义一个background不就行了,这样也可以实现,例如,先定义好每个生产的按扭颜色是可以实现的。

??但是,我做这个教程主要是想学习一下ag游戏客服|官方这个动态增加下载按扭的功能。

??在教程“ag游戏客服|官方二次开发实现动态生成页面锚点定位跳转 ”中,这个功能已经研究过,本教程研究的侧重点不一样。

??这里再次研究是因为我在接单的过程中发现,这个功能非常有用,有很多的地方都用到这个功能,做这个ag游戏客服|官方二次开发教程也是为了让我自己好好再熟悉一下,因为,这个下载功能已经接了五单,也来总结一下。

分析:

??当我们在后台软件地址后,在前台就会生成一个下载按扭,那们要实现上面的要求,只需要对处理这个“软件地址”的文件进行ag游戏客服|官方二次开发就行了。

??处理这个代码的文件是:/include/taglib/channel/softlinks.lib.php

??生产按扭用到的模板是:templets/system/channel_downlinks.htm

??要做这个功能开发,就要明白后台添加“软件地址”后为什么会生成一个按扭,这是如何生成的,这些必须理解。


下载按扭生成原理:

??ag游戏客服|官方在softlinks.lib.php文件里面,把我们在后台添加的链接生成这样一个链接:
  1. $link = $phppath."/download.php?open=2&id={$refObj->ArcID}&uhash={$uhash}";
复制代码

??至于如何生成的,为什么会是download.php来处理下载的,这些ag游戏客服|官方基地都有相关的教程,这里不再多解释了。

??然后,通过这个链接替换模板文件channel_downlinks.htm里面的~link~,这段重要的代码如下所示:

  1. ? ? $tempStr = GetSysTemplets('channel_downlinks.htm');
  2. ? ? $downlinks = '';
  3. ? ? foreach($dtp->CTags as $ctag)
  4. ? ? {
  5. ? ?? ???if($ctag->GetName()=='link')
  6. ? ?? ???{
  7. ? ?? ?? ?? ?$link = trim($ctag->GetInnerText());
  8. ? ?? ?? ?? ?$serverName = trim($ctag->GetAtt('text'));
  9. ? ?? ?? ?? ?$islocal = trim($ctag->GetAtt('islocal'));
  10. ? ?? ?? ?? ?if (isset($sertype_arr[$serverName]) && $islinktype && $sertype_arr[$serverName] != $link_type) continue;
  11. ? ?? ?? ?? ?
  12. ? ?? ?? ?? ?//分析本地链接 www.dedebase.com
  13. ? ?? ?? ?? ?if(!isset($firstLink) && $islocal==1) $firstLink = $link;
  14. ? ?? ?? ?? ?if($islocal==1 && $row['islocal'] != 1) continue;
  15. ? ?
  16. ? ?? ?? ?? ?//支持http,迅雷下载,ftp,flashget
  17. ? ?? ?? ?? ?if(!preg_match("#^http:\/\/|^thunder:\/\/|^ftp:\/\/|^flashget:\/\/#i", $link))
  18. ? ?? ?? ?? ?{
  19. ? ?? ?? ?? ?? ? $link = $GLOBALS['cfg_mainsite'].$link;
  20. ? ?? ?? ?? ?}
  21. ? ?? ?? ?? ?$downloads = getDownloads($link);
  22. ? ?? ?? ?? ?$uhash = substr(md5($link), 0, 24);
  23. ? ?? ?? ?? ?if($row['gotojump']==1)
  24. ? ?? ?? ?? ?{
  25. ? ?? ?? ?? ?? ? $link = $phppath."/download.php?open=2&id={$refObj->ArcID}&uhash={$uhash}";
  26. ? ?? ?? ?? ?}
  27. ? ?? ?? ?? ?$temp = str_replace("~link~",$link,$tempStr);
  28. ? ?? ?? ?? ?$temp = str_replace("~server~",$serverName,$temp);
  29. ? ?? ?? ?? ?$temp = str_replace("~downloads~",$downloads,$temp);
  30. ? ?? ?? ?? ?$downlinks .= $temp;
  31. ? ?? ???}
  32. ? ? }
复制代码

??那么,我们要实现上面的功能,也可以在模板文件里面加上一个css类,然后,通过增加一个“参数”~class~(这个参数随便起名的),来实现动态的生活不同的风格的按扭。

??也就是在上面增加:
  1. $temp = str_replace("~class~",$link,$tempStr);
复制代码

??在模板文件里面增加类:
复制代码
然后,再定义css就可以了,比如,定义成红色跟绿色,这个就可以动态的生成不同颜色的下载按扭代码了。

??因为,这个功能是给一个客户开发的,不把所有的代码都发上来了,其实,只要是你懂得ag游戏客服|官方二次开发,一看就明白了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|ag游戏客服|官方二次开发

GMT+8, 2019-11-13 19:56 , Processed in 0.776934 second(s), 27 queries .

Powered by Discuz! X3.2

? 2001-2013 Comsenz Inc.

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