Magento 模块开发教程第一章 Magento 强大的配置系统Magento的配置系统就像是 Magento的心脏,支撑着 Magento的运行。这套配置系统掌管着几乎所有“module/model/class/template/etc”。它把整个Magento系统抽象出来,用一个配置文件来描述。这里的“配置文件”并不是一个物理上存在的文件,而是 Magento根据当前的系统状态动态生成的一段 XML。大多数的 PHP开发者并不习惯于这样抽象层,因为它增加的编程的复杂性。但是这样的抽象提供了无与伦比的灵活性,允许你覆盖几乎任何系统的默认行为。首先,让我们写一个简单的插件来看看这个所谓的“配置文件”长什么样。虽然我已经提供的现成的代码,但是还是建议你自己建立这个插件,把整个流程走一遍有助于你的理解。设置插件的目录结构我们将要创建一个 Magento的模块【注: Magento的插件不叫 plug-in,叫module,翻译成模块】。Magento的模块由 php和 xml文件组成,目的是扩展或者覆盖系统的行 为,比如为订单增加数据模型,更改一个类的方法,或者增加一个全新的功能。【注:Magento自带的那些功能也都是基于模块的,比如用户注册,商品展 示,结账流程等等。Magento给我的感觉就是一切皆模块,和Eclipse的插件体系结构有点像】大多数 Magento的系统模块的结构和我们将要构建的插件的结构是一样的。Magento的系统模块在以下目录app/code/core/Mage每一个子目录都是一个单独的模块。这些模块是由 Magento官方开发的。我们安装完 Magento以后,所使用的功能就是来自这些模块。我们自己创建的模块应该放在如下目录app/code/local/Packagename“Packagename”应该是一个唯一的字符串,用来标识你的代码。通常人们使用公司名字作为 Packagename,比如app/code/local/Microsoft由于我在做我自己的 Magento项目,我将使用我自己的域名“Alanstormdotcom”。然后,我们要创建以下目录结构app/code/local/Alanstormdotcom/Configviewer/Blockapp/code/local/Alanstormdotcom/Configviewer/controllersapp/code/local/Alanstormdotcom/Configviewer/etcapp/code/local/Alanstormdotcom/Configviewer/Helperapp/code/local/Alanstormdotcom/Configviewer/Modelapp/code/local/Alanstormdotcom/Configviewer/sql你的插件并不一定需要包含以上所有的目录,但是为了以后开发方便,我们还是在一开始就把目录创建好。接下来我们要创建两个文件,一个是config.xml,放在etc 目录下面app/code/l...