一、参考网站
二、了解Zend framework
三、开发向导
在精东的blog中,详细的讲解了Magento的模块构架,如何开发一个Hello World模块的步骤。
文章中包含了Magento的核心内容,分为8个部分:
第一部分:介绍Magento的MVC构架
详细的内容包括控制器,模型,helper,布局,观察器,类重写
英文地址:Magento - Knowledge Base
中文地址:Magento开发文档(一):Magento入门
第二部分:Magento的配置
模块的配置文件,模块文件结构。
英文地址:http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-2-the-magento-config
中文地址:Magento开发文档(二):Magento配置
第三部分: Magento的控制器分发
介绍Magento如何凑个控制器分发请求,简单的创建一个hello world模块。
英文地址:http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-3-magento-controller-dispatch
中文地址:Magento开发文档(三):Magento控制器
第四部分:布局,块,模版
介绍模板是如何被block块渲染。
英文地址:http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-4-magento-layouts-blocks-and-templates
中文地址:
第五部分:Magento的模型和ORM基础
介绍Magento的模型如何实现CRUD操作
英文地址:http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-5-magento-models-and-orm-basics
中文地址:Magento开发文档(五):Magento模型与ORM基础
第六部分:Magento模块安装
介绍Magento的模块安装,升级机制
英文地址:http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-6-magento-setup-resources
中文地址:Magento开发文档(六):Magento模型启动资源
第七部分:高级ORM模型,实体属性值模型
详细的介绍Magento用到的EVA模型
英文地址:http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-7-advanced-orm-entity-attribute-value
中文地址:Magento开发文档(七):Magento EAV模型
第八部分:Varien 数据集合
详细的介绍Magento的数据如何收集。
英文地址:http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-8-varien-data-collections
中文地址:Magento开发文档(八):Varien数据收集
一. MGT的概述
一直听到有人说MGT系统是最好的电子购物开源软件,其实我个人认为最好的不一定是最适合的。所以我要把MGT本身相关的一些特性和优缺点都会在这里罗列出来,给初学者有个整体的了解,是否真的要使用MGT系统,由你自己决定。
MGT系统是一个MVC结构的开源系统,它非常适合多站点一后台管理的模式。它可以细化到每个站点的多个店面,甚至到每种语言。它对于SEO也有非常大的 支持,它的任何的一个页面都包含TITLE,META等SEO必备的元素。本身的伪静态模式也是非常的合理和稳定。说到底,MGT是美国人自己开发的,比 起法国人的PRESTASHOP和英国人的OPENCART的确更适合做外贸,因为它包含了很多功能都于GOOGLE有关,比较适合做欧美市场的外贸站。
MGT既然有这么强大的功能,那当然就有一个比较复杂的后台管理了,所以MGT应该是属于中级的电子购物商城软件,是有一点门槛的,不太适用于没任何程序基础的人员使用。使用MGT系统,得至少有以下几个初级技能:
1) 了解什么是MVC结构;
2) 简单的PHP语言,并有一点点混编的能力;
3) 简单的HTML知识,包括CSS,HTML,DIV (MGT系统基本全是DIV);
4) 简单的MYSQL (也可以没有此技能,但是PHP和MYSQL一般不分家,懂PHP的,应该懂点MYSQL)。
具体内容请各位自己搜BAIDU学习,这里不再累赘的重复。也许会有人说,还有XML呢,其实这个XML是非常简单的。大概看个3个小时W3C的内容,基本就了解了,XML不是最主要的。要使用MGT,当然就得先从修改模板玩起,所以一定的混编知识还是需要的。
二.基本功能
这里描述的默认功能都基于MGT的1.5.1.0版本,如果有出入,请检查你的版本号。我在这里只讲英文版的源程序,至于中文版的MACKINGWARE,我暂时不讨论。但是功能方便应该是差不多是一样的。
基本功能的介绍:
1) 模板:
MGT提供了非常强大的模板支持。它可以细化到任何一个页面,包括不同站的首页,任何目录页,任何产品页,任何信息页,甚至可以细到任何一个模板的时间期限。例如,你需要一个圣诞节的模板,可以设置某个目录在某段时间内,自动切换到圣诞节模板,非常的灵活。
MGT的模板基本用LAYOUT的XML文件进行控制来布局,每个功能都是一个BLOCK,都有对应的MVC结构,就好比积木一样。你可以按你的方式随意搭建起你要的任何页面,但是前提是你要对默认的XML结构有一定的了解,才能做到这点。
2) 目录:
MGT本身的目录结构,并没有和其他的同类开源软件有什么大的差异,它的优点是在于ANCHOR(矛点,或者叫属性筛选)的功能。它可以对某类产品设置很 多的属性,而这些属性可以直接用于做筛选目录,而这个功能似乎其他同类的开源系统都是要2次开发的。但是缺点就是需要手工编辑一个巨大的CSV文件来设定 产品的各自的属性,这个工作量是省不掉的。MGT目录另外一个优点就是可以批量修改某分类下的产品模板,并且也可以批量勾选产品到某一个目录。
3) 产品:
MGT的产品包含的信息非常的巨大,包含常规信息,价格信息,各种SEO用到的信息,RELATED ITEMS,UP-SELL,CROSS-SELL等等。我觉得最有用的应该是SEO用到的信息和PRICE信息。PRICE可以使用TIE PRICE来实现层级式销售。个人觉得RELATED, UP-SELL,CROSS-SELL不太好用,因为每个产品都需要单独设置,工作量巨大,但是从另一个角度看出美国人似乎很热衷于这些功能。个人认为产 品部分的缺点,就是关于CUSTOM OPTION的设置,非常的不灵活,也不科学。我有一个自己认为比较好的模式来修改这个CUSTOM OPION的流程,具体的以后再说,这里就不谈开了。并且可以自己设置属性,作为目录属性筛选功能之用。另外,MGT的产品分好几个类型,有单一产品,自 定义产品,组合产品,捆绑产品。例如。你想实现一个产品下的某一个颜色的某一个尺寸的库存控制,自定义产品就可以做到。
4) TAG:
TAG标签,也许是美国人的网店都喜欢用这个,而这个似乎也非常适用到SEO的范畴,可以大大加强页面的收入量和关键字,是一个可以深入研究的功能。但是我个人不觉得这功能有什么好,为SEO存在的功能,很多都是影响网站整体形象的。
5) 客户:
可以建立多个客户群组,并用于不同的促销规则(后面会提到)。也可以用于不同的页面控制等等。另带有生日记录,无什么特别突出的功能。
6) PROMOTION(促销规则):
MGT最大的优点之一,就是这个促销规则的功能区域。至少在我看到近十个开源电子购物系统中,MGT的PROMOTION功能是最强大的。它分目录规则和购物车规则,所有规则都会关联到站点,客户群组,时间期限等等。
目录规则主要的是可以针对不同的条件下,对价格的修改。条件可以包含产品任意属性,重量,名称,所在目录等等条件进行ALL或者 ANY的格式多个联系起来,形成一个大条件。
购物车规则,主要是针对CART里的产品的特性,例如数量。总价格,重量或者其他一些特性来作为条件。也就是说,MGT的规则的条件,理论上是可以无限复 杂的,只要你能想到的,基本能都设置出来,但是,对于结果(ACTION)却有不完善的地方,它这能FIX或者DISCOUNT价格,却不能加钱进去,只 能减钱,是比较大的缺点。
MGT促销规则,可以同时在不同的网站同时成效,也就是说,当你有5个网站,都是同一个后台管理情况下,你可以同时设置5个网站同一个促销规则。
当以后多条MGT的促销规则时,可以设置成互相不干扰,或者互相重叠按顺序生效的功能,所以MGT促销功能的潜力非常大,需要深挖的。不过有一个不是很有利的地方就是当你的网站有很多很多规则的时候(估计上千条),系统可能会因此变得比较慢。
7) 邮件:
MGT的邮件系统也比较完善,可以设定多个不同类型的邮件模板,并自带NEWSLETTER系统,只要你设置好CRON就可以让系统自动按时发送你的NEWSLETTER。
8) 报表:
MGT有比较全面的报表分析,内容可包含定单情况,购物车当前情况,产品销售情况,库存情况,评论情况以及站内搜索情况。可以让你定期的对自己的网站有个全面的分析。
9) 权限:
MGT本身对后台有管理员权限的设置,可以细到每一个功能模块,可以设多个管理员权限组别。但是不提供对不同站点的单独管理分类的管理权限,这似乎是很多B2B希望用到的功能,需要2次重点开发。
10) API:
MGT本身提供SOAP的API接口,可以提供多方面的外部扩展。可以开发出个人适用的各种控制管理页面。但对于这一讲,这块我就不铺开称述了。
以上是我认为初学者开始要了解到的10大基本功能,至于每一个功能的具体操作步骤,会在以后的讲解中一一称述。希望现在大家能对MGT有一个简单的全面了 解后,然后问问自己是否确定和继续学习MGT来作为自己网站的开源系统。如果你说YES,LET‘S GO AHEAD!
三. 如何系统的学习MGT
MGT本身是一个非常大的系统,安装后就有100MB的文件和300多个MYSQL表。
源程序下载地址是:
http://www.magentocommerce.com/download
对于初学者,如果没有一个系统的去学习,可能会走很多弯路。我见过很多初学者,一开始就装上系统,直接上产品发布,结果到后期,修改的工作量非常巨大。 MGT本身系统很复杂,最好初期搭建的时候,尽可能做到一步到位,这样可以减少非常多的后期工作量。我建议是在正式安装系统前,认真的学习一周后,在下手 是一个不错的方案。那时你已经比较全面的了解了MGT能做到什么基本功能,你可以规划你的源数据格式,非常有帮助的。我在这里提供2种路线针对零基础的使 用者和有一定基础的程序员(二次开发)。
1) 零基础的使用者
所谓的零基础,就是没有用过任何开源电子购物软件,类似ECSHOP,ZENCART等等一类的。那就需要从最基础的开始学习。
i) 首先仔细阅读MGT中文手册;
http://wenku.baidu.com/view/837fcd4dfe4733687e21aa67.html
可能你觉得一开始看手册非常的枯燥,其实,做重要的是先弄细看前2章的内容,让你对MGT有更深的了解,后面的部分可以在实战中一边学习一边记忆。我特别 推荐是重点看MGT的布局框架的部分,对于开始修改模板是有帮助的。了解MGT的模块和VIEW视图的层级调用规则,对于修改和开发模板是大有帮助的。
ii) 然后观看钥匙的入门视频
http://www.hellokeykey.com/magento-chinese-tutorial-videos/
MGT在中国的发展,有很多无私奉贤的人,例如钥匙,阿水,精东等等,都是值得我们感谢的人们。钥匙这些入门视频基本可以手把手带你进入MGT的世 界,我开始花了3天左右前后细细看了一遍,并加上阅读相关的BLOG和网站,前后用了1个星期时间,然后才规划自己的数据内容,再做测试站的。
iii) 然后购买一个学习型的主机,或者本地搭建一个PHP环境,开始正式操作具体的步骤。我的建议是本地和主机一起用,本地作为备份,主机作为模拟的实 战。学习型主机,不建议购买国内的虚拟主机,一般都不能跑MGT,但是国外的能跑MGT主机大多都是20刀/月的费用,是有点高。我本人推荐 BLUEHOST主机,差不多一年费用是500RMB,速度和性能是不怎么样,但是学习MGT来说,是足够的。等正式准备上线时,可以搬到更好的服务器上 去。具体情况因人而异,也可以考虑VPS。
iv) 在正式操练的时候,需要更多补充知识。有时间的,可以把阿水和钥匙的BLOG前后全看一遍。我相信你能学到不少好东西。
钥匙的BLOG(难度为入门级的初学者):
http://www.hellokeykey.com/
阿水的BLOG(难度为中级的初学者):
http://blog.csdn.net/shuishui8310/
OK,如果你能真的很好的完成以上的步骤,并完整的搭建出自己的一个测试站,恭喜你算是合格的MGT使用者了。
2) 有基础的程序员
我说的有基础的条件,是至少玩过1-2种同类型的其他购物车软件,另PHP有一定基础的,并且对MVC或者ZF比较熟悉的,有意直接进入2次开发的领域的同学们。
i) 快速阅读中文手册,对于有基础的,其实也就是熟悉MGT的截面问题,手册中都比较详细;
ii) 看精东的MGT开发教程:
http://www.wemvc.com/magento
对于刚进入开发的人来说。这十篇文章真得可以算得上是宝典,值得重复阅读。
iii) 按精东的教程,做出自己的个性模块;
iv) 深入研究数据库的各表之间的关系,为了以后很好的开发模块打下基础;
这个学习方法是针对2次开发人员的,可能对于模板的修改方法要少些。如果熟悉ZF的话,模板的问题应该也不难。最后,个人觉得弄一个兰亭模板,深入研究各各模块的代码,然后再写点API的功能,我觉得已经算一个不错的MGT的初级程序员了。
另外,最后我总结以下,学习MGT最好的老师是GOOGLE。差不多GOOGLE上的MGT资源文献要比中文的多上几十倍,所以大家尽可能使用 GOOGLE搜索相关资料。能力实在有限的,就认真阅读以上我提到的BLOG,如果全能理解下来,也够你玩转MGT了。希望这次讲座能让你对MGT有一个 初步的理解和认识,也希望你能加入MGT的大军。谢谢各位。