- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入理解Magentoamp;ndashamp;ndashMagento强大的配置.PDF
深入理解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项目,我将使用我自己的项目名“App”。 然后,我们要创建
以下目录结构
app/code/local/App/Configviewer/Block
app/code/local/App/Configviewer/controllers
app/code/local/App/Configviewer/etc
app/code/local/App/Configviewer/Helper
app/code/local/App/Configviewer/Model
app/code/local/App/Configviewer/sql
你的插件并不一定需要包含以上所有的目录,但是为了以后开发方便,我们还是在一开始就
把目录创建好。接下来我们要创建两个文件,一个是config.xml,放在etc目录下面
app/code/local/App/Configviewer/etc/config.xml
文件内容如下
config
modules
App_Configviewer
version0.1.0/version
/App_Configviewer
/modules
/config
第二个文件需要在如下位置创建
app/etc/modules/App_Configviewer.xml
第二个文件应该遵循如下命名规则“Packagename_Modulename.xml”,文件内容如下
config
modules
App_Configviewer
activetrue/active
codePoollocal/codePool
/App_Configviewer
/modules
/config
我们先不管这些文件是干什么的,以后会解释。建立好这两个文件以后,你的模块的骨架就
已经完成了。Magento已经知道你的模块存在,但是现在你的模块不会做任何事情。我们来
确认一下Magento确实装载了你的模块
1 清空Magento缓存
2 在后台管理界面,进入 System-Configuration-Advanced
3 展开“Disable Modules Output”
4 确认“App_Configv
文档评论(0)