天天团购 二次开发
2015-12-01 14:08:19   来源:   浏览: 次

导读:天天团购系统是一套领先的PHP开源团购程序,拥有高效的系统架构和强大的管理功能,同时支持团购优惠券、团购实物,并有类似淘宝的快递配送

天天团购系统是一套领先的PHP开源团购程序,拥有高效的系统架构和强大的管理功能,同时支持团购优惠券、团购实物,并有类似淘宝的快递配送体系等,是目前最受欢迎的开源团购系统; 
     天天团购系统内置支付宝、财付通等在线支付接口,所有网银用户均可无障碍支付,还支持余额支付、线下转账、货到付款等;另外系统还集成了 Ucenter模块,可与所有集成该模块的系统(比如discuz、记事狗微博系统)无缝整合,实现用户同步注册、登陆、退出。

     官网的介绍已经很详细了,那么我就不一一说明,谈谈对这套系统的看法吧。

     天天团购目录结构:

\

其实看过一些开源的程序,如phpcms、dedecms等等系统,都会很容易地看懂以上目录结构,从命名也大概知道其功能作用吧,模块化开发的目录结构。以下是个人理解,如果错误,还请指出。

 API  接口文件,如uc.php与UC系纺通讯接口
 backup  备份目录、数据备份
 cache  缓存目录
 data  数据目录,安装系统,数据库表结构、数据等存放目录
 dev  不知应叫什么好
 errorlog  出错日志
 iis_rewrite  iis URL规则
 include  库文件
 languages  语言包
 modules  各模块类库
 setting  一些基本的配置,如数据库配置
 static  静态文件,例如一些常用的JS函数库、CSS、系统图片等等
 templates  模板库
 uc_client  UC 客户端,用于与UC产品整合
 uploads  上传文件目录

      初次使用天天团购二次开发,对其基本结构、函数、模板还是一目了然的,可能是之前做phpcms的二次开发,有些地方有几分相似。这次二次开发的任务比较简单 ,主要是更换模板,也就是换样式,主要部份功能增删等,却依然花了一天多去嵌套(好长一段时间没有好好写写php了)。可以是新模板,有些功能是此系统不支持的,而且没要要求开发,所以空着了。

     模板都放在templates目录下,默认是  templates /default目录是大部份模板,后台模板就相应在 templates /admin,  templates/html下是一些模块代码需要生成的html模板,例如  填写收货地址页面的,点击添加地址后,弹出来的一个填写地址的层。header、footer、detail(内容页),deals(往期团购)等,然 而主页中的团购列表模板却是在html/igos/meituan/index.html,一开始还真没找到,多次调试才发现。

     部分模板语法:

     1、<!--{~ui('loader')->js('@share.linker')}-->     

view sourceprint?
1.function js($name, $once = false, $dirSAt = 'static/js')

      $name参数为标识,$once 为true时只引入一次类似于php中include_once的用法吧,$dirSat系统默认的js目录, 此类目录所在include/ui/loader.ui.php,引入js,js只需要写标识即可,不需后缀,标识前的“@”表示引入系统 js($dirSAt 目录),即static/js/目录下的share.linker.js,如果意为标识不带”@“即引入templates/default/js /share.linker.js      

     2、  <!--{~ui('loader')->css('@main')}--> 

view sourceprint?
1.function css($name, $once = false, $dirSAt = 'static/css')

     用法跟js一样。

    3、<!--{~ui('widget')->load('index_home')}-->

          些语法作用为加载挂件,如右侧栏挂件(可以相应在后台设置)

    4、{if}{esle}{/if}

          在模板中可以如上使用if语句

   5、{~page_moyo()}

         在列表循环之后, 一般需要使用分页,此为分页的页码显示

   6、<!--{loop $array $k $v}-->   <!--{/loop}-->

        与PHPcms模板用法一样,作用相当于PHP中的foreach   $k变量不是key,而是序号

   7、logic('misc')->ShareList()

        调用 include/logic/misc.logic.php 类中的ShareList()方法

   8、ui('iimager')->single($item['id'], $item['imgs'][0])

        此为显示商品图片,如果存在多张图片通过数组索引显示  $item['imgs'][0]表示显示第一张,   $item['imgs'][$i] 可以 通过循环来遍历显示所有图片

   9、{eval    php代码}

       此标签可以让php代码直接在模板中执行

  10、{ini:product.joinus}

      请读取配置文件setting/product.php  里的一个名为$config["product"]["joinus"] 数组的值

    待续>>