一个深圳Java程序员对ECMall的扩展感受
2016-07-07 16:47 来源:www.chinab4c.com 作者:ecshop专家
ECMall我是9月份从2.2开始弄的,安装了几个插件和模块,例如推广积分和秒杀,自己也开发了两个插件,例如购物积分和商品二维码生成。对比和Java的网站开发,感觉蛮有意思的,以下是粗略的汇总: 1、ECMall的扩展机制仍在进化中。 单纯的一种扩展来完成一个任务几乎碰不到。ECMALL有三种扩展方式,官方也说一般的扩展开发实际上都会用得到,不可能只用到一种。例如官方自己推出的那个商城推广积分插件promotion,包括了插件和模块两种。所以,在社区中,大家都已经形成了"插件"其实就是包括了以上三种方式:模块、插件和挂件。为了方便,建议官方以后直接把所有扩展都名正言顺地称作"插件"算了,免得此起混淆。而原来的三种分类依次可称之为插件的功能部分、勾子部分和可视组件。 经过这几轮扩展开发,感觉要吃上“扩展”这块猪肉,真的不容易,要修改已有的model文件和frontbase文件等等,以增加模型,加入前台的菜单项。对比Java世界中的eclipse的插件和Spring中的JavaBean发布,要罗嗦多了。eclipse插件只要直接COPY到插件目录下即可使用。 当然,ECMall每次升级,自己扩展的插件都要重新安装,相当麻烦。不过,这也是其他大多数php框架的通病,目前没有很好地解决吧。wordpress没用过,Joomla!用过。 2、ECMall扩展开发小结。 通过分析模块、插件、挂件这三种扩展方式的不同,最后确定用模块的方式来实现购物积分功能。 模块:最常见和全面的一种扩展方式,往往涉及到的表与界面都是新增的,是对ECMALL前后台功能的整体扩展,包括前后台程序,也可以配合插件与挂件,例如商品数据模块。 插件:拦截性的一种扩展方式,可以对主程序的数据内容或执行流程进行改变。利用勾子让主程序来调用该扩展模块,例如商店短名字插件。 挂件:最小的也是最容易的一种扩展方式,主要是“某个区域”的前台数据的展现,属UI组件,例如各类广告条,商品分类条等。 怎样确定你的开发任务是哪种类型? 往往一个扩展功能,会分别涉及管理后台、前台展示功能,这时即是一种模块开发了; 如果这个扩展功能会被其他好多模块调用,那就要做个插件,让其他模块方便拦截调用; 如果这个功能在前台的不同页面都有一个小区域来显示,那就需要一个挂件了。 案例1:秒杀插件的实现分析 后台需要设定秒杀的参数,例如时间,数量以及商品的指定等等,这可以用modules即模块来实现; 前台需要展示秒杀商品,当然也可以在模块中实现,但要修改已有商品展示界面,不如做成挂件方式widget。 因此,秒杀就可以做成模块+挂件的方式。“插件”是误称了。 案例2:销售积分插件的实现:每销售一笔,用户就会增加积分。 后台:设置销售积分参数的页面 前台:用户中心界面,要展示积分情况 这两种都可以用modules实现 而积分执行时,需要在购买时拦截执行,因此是个插件行为。 因此,这个插件的总体架构为:modules + plugins ECMall的MVC的架构还是比较清晰的,作为一个新手,M这块需要熟悉一下它的各module间关系的书写方式;View比较容易理解,即html文件,那些smartty标签也比较直观,相信Java中习惯各类标签的朋友应很快接受;Controller这块即app文件是编程的重点,跳转处理都是在这,而许多业务处理代码也都写在这里了,没有另建一个BO层的风气。不过没关系。 至于ECMall的功能缺陷,最头疼是它的购买积分竟然没有,而且打折促销这个也没有。一直在怀疑官网是过分依赖UC去扩展它的积分功能了。 但ECMall还是很优秀的,值得投入精力去研究使用。 基本上就这么多,以后还要继续学习它,希望和大家多多交流!QQ :82889082 |
回答:
在查找&m这个模块方法时,发现在eccore/ecmall.php文件中有&bm的定义实现,也就是以后的业务对象可通过它来调用。 |
强者有机会交个朋友QQ:819150634 |
我也在深圳,可以多交流 http://mall.bb521.com.cn |
高手呀..不知能不能认识你呀. シャネルコピー スーパーコピーブランド |
最近更新
常用插件
- ecshop使用手机验证码登陆
ecshop使用手机验证码登陆,这个功能很新颖,有些特殊的ecshop站点,他到...
- ecshop中nginx实现url的重写
上几章为了让ecshop很好的在nginx上运行。我们搭配了ecshop的nginx下的工作...
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
- ecshop 手机注册验证插件
ecshop 手机注册验证插件 ,需要通过手机获短信,然后注册验证 价格:...
- ecshop根据订单批量发红包
ecshop根据订单批量发红包 ,大家肯定对ecshop红包不陌生,但是对ecshop订...
ecshop热门问答
ecshop热门资料
nginxphp
ecshop百团大战
ecshopwin7
ecshop对联
ecshop修改数据库名
ecshop主广告
ecshop遇见
ecshop网页标题
ecshop显示属性
ecshop1017
价格分割
ecshop快递公司
ecshopassistant
ecshop商城模板
ecshop价格属性
ecmall.php
ecshop戴志康
ecshop实践
ecshop傲剑凌云
ecshop斑竹
ecshop玉树
dedecms非常慢
ecshop热卖
ecshopUpFileBtn
ecshopMD5
sphnix
ecshop企业网站
ecshopec后台
ecshop理念
ecshop卸装