研究destoon系统好久了,总的来说还是套不错的b2b系统,安全性比较高,二次开发也比较方便。不过就是小bug稍微多了点,比如广告系统的缓存清理就存在问题,上传的图片偶尔丢失(目前此问题正准备查找,官方貌似也没有发现问题原因,一直没有给出修复),都是些不容易复现或者很少遇到的bug。瑕不掩瑜,如果大家想做b2b的网站,不妨试试这套程序。
这里介绍一个常见的开发需求,就是默认广告类型不够使用的时候,如何添加一个新的广告类型。
我们首先要了解destoon广告系统的运作逻辑,前台页面是通过ad函数调用系统生成的静态页面来显示广告,因此前台只是显示功能。后台需要处理广告类型、广告的个数,对添加的广告生成静态页面等,因此核心都在后台部分。
系统默认了6种广告系统,目前偶参与的系统已经添加到了11个了,广告系统所有需要修改的文件,基本都涉及到了。这里先给出可能修改到的文件:
lang/zh-cn/extend.inc.php
module/extend/admin/template/ad_add_place.tpl.php
module/extend/admin/template/ad_edit_place.tpl.php
module/extend/ad.class.php
module/extend/admin/template/ad_add.tpl.php
module/extend/admin/template/ad_edit.tpl.php
module/extend/admin/template/ad.tpl.php
module/extend/ad.htm.php
module/member/ad.inc.php
template/default/member/ad.htm
上面就是整个修改的精华了,文件按照修改顺序排序。相信给出了需要修改的文件,不用介绍就自己就可以开发一个新的广告类型了。为了方便,下面再简单的介绍下各文件的作用和修改的注意事项:
1.lang/zh-cn/extend.inc.php 文件里面$L[‘ad_type’]数组添加新的广告类型。这个时候就可以在后台的广告-添加广告位里面看到新的广告类型了。
2.module/extend/admin/template/ ad_add_place.tpl.php、ad_edit_place.tpl.php 这两个文件就是广告类型的添加及修改页面了,需要根据要添加自己的需求来。不过尽量复制满足自己的需求的原来的广告类型, 为什么这么做呢?这会大大减少我们对代码的修改。这两个页面要注意里面js对广告类型属性框的动态修改。
3.module/extend/ad.class.php 主要关注里面的is_place 和 is_ad这两个函数。is_place 函数是新广告位添加前,对字段(如必填项)的处理逻辑;is_ad函数是下面第4步中对新广告字段的处理逻辑。
4.module/extend/admin/template/ad_add.tpl.php、ad_edit.tpl.php 这两个就是对具体广告添加及修改的页面了,需要根据要添加自己的需求来。如果上面第2步复制的原来的广告类型,这里的修改就会事半功倍。同样要注意js的处理。
5.module/extend/admin/template/ad.tpl.php 主要是对后台“HTML调用代码”的修改,你可以使用默认的ad函数,也可以自己写一个函数用于前台广告调用。ad函数在include/global.func.php文件里面。
6.module/extend/ad.htm.php 生成什么样的广告缓存都在这个文件里面。一般这里处理好了,前台直接使用默认的ad函数调用显示即可。系统默认的广告模板是template/default/extend/ad_code.htm,你也可以添加自己的模板。
7.module/member/ad.inc.php template/default/member/ad.htm 这是前台会员商务中心-广告预定里面,添加广告内容时,对新广告类型的判断,进行相应的修改就行了。
这就是destoon广告系统添加新广告类型涉及的页面,修改了这些新的广告位经测试后就可以上线了。
destoon二次开发QQ:84615567