Magento(CE1.X)自带模块解析七
61、Tax
税模块是一个让人头疼而又没法轻易舍弃的模块。国内的电商,不管是淘宝、京东还是其他网站,商品的标价都是含税价,所以在系统层面是完全不需要考虑税这个概念的,但是Magento是美国朋友做的,美国网站的标价很多时候都是不含税价(是因为美国各个州的税率也不一样?),后续结算还要计算税费等情况。因为税是跟价格紧密相关的概念,所以Magento代码里,税相关的代码也是跟价格代码紧密耦合在一起的,这样的结果就是,即便我们用Magento做中文站,也没办法简单剥离掉税相关的代码,只能带着所有税判断和税计算相关的代码一起跑。税和价格在Magento里有多紧密可以参见价格模板文件 \template\catalog\product\price.phtml
如上所述,Tax模块是没法关闭的,真的要关的话,除非把税和其他模块耦合在一起的代码一点不剩全部剥离干净,这个是一个相当复杂而又耗时的大工程。
62、Usa
前面讲Shipping模块的时候有提到,Usa模块实现了Dhl、Fedex、Ups和Usps这四种配送方式,这几个都是国外的快递公司,国内一般用不到,即便真的要用,比如Fedex联邦快递,也建议用Table Rate来实现,因为Usa模块的代码查询快递进度都是连接的美国公司的api。
Usa模块从名字也可以看出专供美国本土,所以我们可以果断关掉它。
63、Weee
Weee模块是Tax模块的一个扩展,实现了一个所谓Fixed Product Tax功能,因为做中文站用不到税的概念,所以Weee模块对我们也是没有用的。幸运的是Weee模块独立性很好,相比于Tax模块,关闭Weee模块并不会对网站正常流程造成影响。
Tax模块是相关关不掉,Weee模块就可以放心的关了。
64、Widget
Widget模块提供了一种可视化管理页面内容(Block)的机制,除了可以在CMS page或者Static Blocks的内容里插入Widget外,也可以新建Widget插入到各个页面的指定位置,比如下图这样把一个Static Blocks插入到所有简单商品页的左栏。
应该说Widget功能上还是很强大的,可以通过后台操作的方式修改页面内容和布局,而不用修改代码文件。不过恰恰是因为这一点,我其实不太推荐在工作中使用Widget。在实际项目开发流程中,我们一般会用svn或者Git来做代码的版本控制,原则上除了纯内容以外所有的网页变化都应该通过修改代码的方式来进行,这样方便做版本控制,code review和生产环境发布的节奏控制 。如果使用Widget就会打破这个原则,后台操作可以直接干预前台放哪些Block,会让管理失控。从程序开发管理的角度来说,同样在前台新增一个Block,既可以通过后台的Widget来实现,也可以通过修改模板layout文件来实现,如果不统一一个标准实现方式,在团队合作开发时就会混乱。理论上,所有Widget
实现的东西,都可以通过修改Layout文件来实现,而反过来,修改Layout文件实现的功能,后台的Widget不一定能做到,而且通过Widget新增的Block,实际上是把布局信息存进了数据库里,前台每次调用都需要先从数据库取出这部分布局信息再来渲染页面,无形中增加了数据库的压力。
Widget模块虽然不推荐用它,但是因为存在一些模块依赖,是无法关闭的。
65、Wishlist
收藏夹模块就没有什么特别可讲的地方了,功能很标准,没有什么特别奇葩的点,同时收藏夹功能应该也算是电商的标配基础功能之一,没有收藏夹的电商才是奇葩。当然现在叫法上会有一些变种存在,比如“关注“,“心愿单“等等,骨子里都还是收藏夹,顶多就是在收藏夹基础功能上做一些扩展。
Wishlist模块也算是核心模块之一。
66、XmlConnect
接触Magento有段时间的人应该听说过,Magento官方曾经推出过官方的APP解决方案,包含了对Android和iOS的支持,XmlConnect模块就是对应的服务端接口,生成的App通过XmlConnect模块与Magento网站实现数据的交互。这个官方项目现在已经死了,原因大概分两方面,一,定价高,Android和Ios分开各自收费,如果我没记错的话还是按年收费,二,不灵活,生成的APP只能换换图片、颜色、布局等等,没办法灵活定制功能,举个例子,在中国用需要接入支付宝,官方的App解决方案就无能为力了。
所以虽然没有具体数据,但可以预计这个官方方案没有几个人真的买单,真正有APP需求的,一般会自己招人做客户端或者外包做客户端,然后是用Magento的SOAP/XML-RPC或者Rest Api做服务端接口,或者直接用http请求Magento控制器的方式自己构建一套供APP是用的服务端Api,这样子不管客户端还是服务端都是可以灵活的针对自己的需求做定制的,相比之下,官方的解决方案就。。。。
因为这个项目已经死了,所以XmlConnect模块原生就已经是关闭状态了,Magento官方只是关闭模块而没有把代码移除,可能是为了留个纪念吧。
67、RedisSession
这个模块不在core目录而在community目录里,不过也是Magento自带的模块。看字面意思就知道,这个模块的作用是把Magento的session存到Redis里面,这个方案差不多已经成为Magento生产环境的事实标准了。Magento默认session是存放于本机磁盘或者数据库表里的,生产环境一般会做服务器集群来应对大流量,集群情况下,session放磁盘先不说性能如何,服务器间的不同步就是大问题,放数据库表的话可以解决集群状态下的session一致性,不过性能和堆数据库造成的压力也是不小的问题,在Magento早期(那时候Redis还没流行),公认的合理解决方案是把session放到memcache里,可以同时解决一致性,性能和减轻数据库压力几个问题,后来Colin Mollenhour大神为Magento官方贡献了两个基于Redis的实现,session和cache,而Redis本身也越来越成熟,逐渐成为各大公司取代memcache的标配,所以近期的新Magento项目一般都会把session和cache存到Redis作为标准方案。
其实相比于session,存放cache才是Redis相比memcache更有优势的地方,Redis支持的hash结构相比memcache的简单KV结构可以更好的支持Zend_Cache的tag概念,所以在cache已经存到Redis的情况下,为了避免同时维护Redis和memcache带来的成本,把session一起放redis就是很自然的选择了。
PS:如何配置session到redis可以参加自带的local.xml.additional文件
68、Moneybookers
Moneybookers是一家国外的第三方支付公司,类似支付宝的模式,具体我也不是很了解,但是可以确定这个在国内用不到,凡是国内用不到的支付方式,都可以把整个模块关闭掉。
以上是本系列的最后一篇内容,简单总结下上面8个模块,
其中Tax,Widget,Wishlist三个模块是必须开启的(网站正常运行的基础),
RedisSession是可以根据需求自选要不要开启的,
Usa,Weee,XmlConnect,Moneybookers我的建议是关闭(针对做国内中文站),
转载于:https://my.oschina.net/u/3934842/blog/3011246
Magento(CE1.X)自带模块解析七相关推荐
- Magento(CE1.X)自带模块解析一
2019独角兽企业重金招聘Python工程师标准>>> 本章开始逐个解析Magento1自带的模块,根据模块复杂度和重要性的不同,描述的方式也会有所区别,有些仅使用文字,有些会配上截 ...
- 对于来自范兵提供光电检测带模块解析
▌01 光电检测带 1.计时光电检测板 今天收到来自于 逐飞 发送过来的基于光电检测的车模通过检测传感器.这个传感器应用在 2020年第九届四川省大学生智能汽车竞赛 中,很好的服务于比赛现场的队伍. ...
- Magento模块解析
Magento 模块 模块( module )是 Magento 的核心.站点上的任何一个动作( action ),无论是在前台和还是在后台的每一个操作都是通过模块来实现的.模块是可以视为一个容器,它 ...
- 微型计算机原理考试试卷,微机原理试题集试题库(带答案解析)
微机原理试题集试题库(带答案解析) (59页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 34.9 积分 完美WORD格式 微机原理及应用习题集库2一.填 ...
- 串口调试助手源代码 qt编写 带协议解析 帧判断 通信数据保存等功能
串口调试助手源代码 qt编写 带协议解析 帧判断 通信数据保存等功能 使用说明介绍 1.功能介绍: 采用Qt编写的串口调试助手工具,功能齐全,除了具备十六进制收发及文件保存等基本功能外,还具有以下功能 ...
- 解析html xml最好的模块,解析--import--htmllib--xml
--import ConfigParser 模块------解析配置文件---------------------------------------------------------------- ...
- PMP 错题集(带答案解析)
PMP 错题集(带答案解析) 变更题 质量题 风险题 敏捷&计算题 变更题 质量题 风险题 敏捷&计算题(待更新) 答案仅供参考,并不绝对.答案仅供参考,并不绝对.答案仅供参考,并不绝 ...
- cuDNN 功能模块解析
cuDNN 功能模块解析 Abstract 本cuDNN 8.0.4开发人员指南概述了cuDNN功能,如可自定义的数据布局.支持灵活的dimension ordering,striding,4D张量的 ...
- 实现一个webpack模块解析器
最近在学习 webpack源码,由于源码比较复杂,就先梳理了一下整体流程,就参考官网的例子,手写一个最基本的 webpack 模块解析器. 代码很少,github地址:手写webpack模块解析器 整 ...
- python中json模块_Python使用内置json模块解析json格式数据的方法
本文实例讲述了Python使用内置json模块解析json格式数据的方法.分享给大家供大家参考,具体如下: Python中解析json字符串非常简单,直接用内置的json模块就可以,不需要安装额外的模 ...
最新文章
- 吃西餐的吴大师略懂《赤壁》
- 阿里面试题:Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?
- PyQt4基本布局常用方法之addSpacing
- DEBUG日记:同样的代码在不同的环境却得出不同的结果。
- Linux和windows网络配置
- POJ1276:Cash Machine(多重背包)
- 电脑录屏软件哪个好?快速录制高清视频的方法是什么?
- 管家婆辉煌II盘点功能操作流程
- 紧固件基础知识之规格篇和功能篇
- luogu P4173 残缺的字符串
- 机器学习与量化交易项目班 [从零搭建自动交易系统]
- UI设计师平时都用什么设计软件工具?
- Android Manifest功能与权限描述大全,flutter安装androidsdk
- 虚拟机安装Ubuntu后的问题(不能全屏、不能上网;换源挂代理;安装搜狗输入法;pycharm的sudo模式启动快捷方式)
- xampp软件安装流程
- 如何删除SQL Server残留文件
- 二进制 Kubernetes 查看证书过期时间
- Lit(二):响应式属性
- Matlab 多元线性回归
- 多点解读贝泰妮:火速转战H股,女人的钱究竟有多好赚?
热门文章
- dest在C语言什么作用,目前最全面的dest答疑问题及相关回答
- argis利用gp工具打包tpk切片包
- 虾皮有哪些站点?各站点有什么特色
- 【NLP】NLP,能辅助法官判案吗? | CCF C³
- 获取b站某个up的视频aid、cid
- Hotspot Object本地方法实现 源码解析
- 如何交叉编译openssl、openssl 移植到ARM、IOT设备上
- Windows驱动程序开发 - 初识驱动
- php读取路由器arp表,详解ARP地址解析协议的工作流程
- 期货交易 python_strategies/python版CTP商品期货交易类库.py at master · rui/strategies · GitHub...