magento教程.doc
文本预览下载声明
magento开发
magneto相对来说是一个比较复杂的系统,如果想做magento二次开发程序员,应该先从模板制作开始,摸清magneto的结构,magneto模板制作的过程中,对magento的模板结构摸清,然后熟悉magneto的Mage包下的文件的作用,细细,细致的看,研究,然后把他们给穿起来分析,最后,分析magneto的初始化过程,因为只有懂了magento的初始化过程,才能对magento的执行过程有一个比较好的了解,然后在magento使用的过程中,遇到问题才能更好的定位,当然,有时候magento会有一些莫名其妙的错误,不要认为magneto有问题(当然magneto也是有很多bug的),就像上次使用过程中,后台的分类树点击后,不会分类的信息,最后找了一下午,终于找出来了,一个家伙把模板备份,然后备份的模板包名字中出现中文,在后台都是可以选定模板的,magento是UTF-8编码的,所以出现乱码,才出现的莫名的错误,反正我遇到的绝大多数的莫名其妙的错误都是magento使用不当造成的,那些不喜欢magento的,说magento不好的家伙,我一直不赞同,我认为他们不了解magento才这么说,也就是他们害怕magento,懦弱的表现,擦,magento排名世界第一的电子商务系统足以说明,magento是一个优秀的电子商务开源系统,说magento垃圾的人见鬼去吧!
Magento模块介绍
??????????????? magento的module(模块)Magento模块结构,是Mgento的核心组成部分,Magento的每一个请求都要执行这里面的东西,app/code/core/Mage下面放的是magento的核心代码,magento的模块都在这里面,我们自己写的一般放在app/code/core/community或者app/code/core/local下面,参看下面的目录结构和相关的代码中定义的类名:- App/|- code/| |- community/| |- core/| | |- Mage/| | |- Zend/| |- local/|- design/|- etc/那么Magento模块是由那些部分组成呢,下面详细介绍:Magento是由下面几部分组成Block?? ??? ?Etc?????? 配置文件Sql?? ??? ??? ?数据库相关的sql文件Helper?? ??? ?辅助类Controller?? ?控制类Contrillers?? ?控制类Model?? ??? ?模型下面要引入几个概念:包(Package)所有的模块是放在代码池中都是先建立一个包,然后在写模块,这样可以保持一定的同义和连贯,同时也避免了类名的重复性,易于magento工程结构的搭建。模型(Model)magento的数据库操作一般放在这里,可以说是magneto的数据层,比作为magento的肌肉,block一般所需的数据库操作都是从这里取数据,在请求执行过程中负责底层的数据工作。块(Block)一个block和一个phtml文件对应,,phtml文件中所需的数据是通过block文件给予的,有点像smarty的结构,将业务逻辑和前台显示分离,这样可以让设计师和程序员的工作分开,从这里看,Magento的一个请求,实际上是在处于模板文件和他所对应的block这个对象,当然,Magento的模板系统是用PHP文件编写的。所以renderView()方法也只不过是简单的调用include来包含相关的模板文件。也就是说,如果你想使用 某个模板引擎,你可以通过修改Mage_Core_Block_Template类的renderView方法去调用你所选择的模板系统的呈现函数。控制器(Controller)控制器是Magento所有业务逻辑的起点。业务逻辑是指业务理论中的规则。至于Magento业务逻辑和域逻辑(数据处理指令)的区分是不太明显的。有的人认为检查必须栏位和可选栏位就是属于业务逻辑,而有人认为那应该属于域逻辑。Magento中的大多数的逻辑的是在模型中实现的。控制器类继承了Mage_Core_Controller_Varien_Action基类,而这个基类是Zend框架的Zend_Controller_Action类的修改版本。其中比较重要的方法包括:l? dispatch($action)l? preDispatch();l? postDispatch()辅助类(Helper)对于一些写在block和model不合适的类,就写在了helper中比较有用 的两个类就是?? ?l? __(两个下划线)
显示全部