Magento 模块开发教程
第一章
Magento
Magento
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/Block