模块(module)是Magento的核心。站点上的任何一个动作(action),无论是在前台和还是在后台的每一个操作都是通过模块来实现的。模块是可以视为一个容器,它可包含下面这几项:设置(settings),数据库模式(database schema),呈现对象(rendering object),辅助工具类(utility helpers),数据模型(data models)或动作控制器(action controller)。一个模块可以包含全部的这六项也可以只包含其中的几项,甚至只有一项。所有的模块可以通过app/etc/modules/目录中XML配置系统来进行开关。每个模块也可以在自己模块目录下的etc子目录中创建一个XML文件来保存自己的配置信息。 由于Magento中的一切都是模块而且模块本身又可以有自己的配置文件和数据库设置,这样就允许开发人员对Magento进行扩展。 模块结构 下面是Catalog模块的目录结构,它包含了模块的所有项目(上面提到的六项):
在进行Magento的相关模块开发或二次开发的时候,在代码级别直接访问数据库是非常必要的,那么编写Magento代码时是怎么样的呢?要操作数据库,首先你需要一个resource model,然后通过这个resource获取一个对数据库的连接。这样你就得到了一个Varien PDO Adapter对象,通过这个对象就可以直接通过sql语句操作。看下面的例子:
Magento核心模块的关系图,了解各个模块之间的关系,有助于了解Magento的架构及模块开发的相关认识。
Magento的程序序列图,有助于了解Magento的运行原理及程序架构方面的知识。
Magento和Drupal都是很出色的开源软件,能够整合就再好不过了。大家不用失望,已经有模块实现了这个功能了。
Drupal有个Magento的整合模块:http://drupal.org/project/magento
Magento也有个Drupal的模块:http://www.magentocommerce.com/extension/1020/drupal
英文说明:
Here you'll find a set of modules that offer a full integration of Magento (http://www.magentocommerce.com/) e-Commerce suite.
转载自:http://blog.csdn.net/xinhaozheng/archive/2009/03/30/4035938.aspx
Magento模块