Path: app/code/(codepool)/(NameSpace)/(ModuleName)/etc/config.xml
当你在Magento中新增一个或更新一个module的时候,需要在此config.xml中对所有的models,blocks,classes等做相应的配置。每一个module都有一个单独的config.xml文件,但是Magento在加载解析这些config.xml文件的时候整合在一起分析的。所以每个config.xml文件都需要有<(modulename)> 来区别于其他的模块,如果一个模块下的config.xml文件中没有定义<(modulename)> ,该文件中其他的定义将被其他的文件覆盖掉。由此,严格按照Magento要求的书写方式来对相应的Module做配置是非常重要的(例如, <(modulename)_setup>
)。
-
<config>
-
<modules>
-
<(NameSpace_ModuleName)></(NameSpace_ModuleName)>
-
</modules>
-
<global>
-
<models></models>
-
<resources></resources>
-
<blocks></blocks>
-
<helpers></helpers>
-
<fieldsets></fieldsets>
-
<template></template>
-
<events></events>
-
<eav_attributes></eav_attributes>
-
<(modulename)><!-- custom config variables --></(modulename)>
-
</global>
-
<admin>
-
<attributes></attributes>
-
<routers></routers>
-
<fieldsets></fieldsets>
-
</admin>
-
<adminhtml>
-
<events></events>
-
<global_search></global_search>
-
<translate></translate>
-
<layout></layout>
-
<(modulename)><!-- custom config variables --></(modulename)>
-
</adminhtml>
-
<install>
-
<translate></translate>
-
</install>
-
<frontend>
-
<routers></routers>
-
<events></events>
-
<translate></translate>
-
<layout></layout>
-
</frontend>
-
<default>
-
<(modulename)><!-- custom config variables --></(modulename)>
-
</default>
-
<stores>
-
<admin></admin>
-
</stores>
-
<websites>
-
<admin></admin>
-
</websites>
-
</config>
注意,上面只是一个config.xml配置文件大致的框架,下面将对每一部分进行细致分析.
每个config.xml可大致分为上面表格中的小模块,下面就每一块进行细分
-
<modules>
-
<(NameSpace_ModuleName)>
-
<active>[true|false]</active>
-
<codePool>[core|community|local]</codePool>
-
<depends>
-
<(AnotherNameSpace_ModuleName) />
-
</depends>
-
<version>(version_number)</version>
-
</(NameSpace_ModuleName>
-
</modules>
Element
Description
active
该模块是否生效(该element的值可在后台修改) |
codePool
app/code 的具体路径 |
depends
是否依赖于其他的模块,如果被依赖的模块不存在,它就不active |
version
定义版本,用于更新和安装 |
通常 active
, codePool
and depends 一般在
app/etc/modules/(NameSpace)_*.xml 文件中定义,而 version
在相应module下的config.xml 文件中定义.
-
<global>
-
<models>
-
<(modulename)>
-
<class>(ClassName_Prefix)</class>
-
<resourceModel>(modulename)_(resource_model_type)</resourceModel>
-
<(modulename)_(resource_model_type)>
-
<!-- definition -->
-
</(modulename)_(resource_model_type)>
-
<rewrite><!-- definition --></rewrite>
-
</(modulename)>
-
</models>
-
<resources>
-
<(modulename)_setup><!-- definition --></(modulename)_setup>
-
<(modulename)_read><!-- definition --></(modulename)_read>
-
<(modulename)_write><!-- definition --></(modulename)_write>
-
</resources>
-
<blocks>
-
<(modulename)>
-
<class>(ClassName_Prefix)</class>
-
</(modulename)>
-
</blocks>
-
<helpers>
-
<(modulename)>
-
<class>(ClassName_Prefix)</class>
-
</(modulename)>
-
</helpers>
-
<fieldsets>
-
<(page_handle?)>
-
<(field_name)>?</(field_name)>
-
</(page_handle?)>
-
</fieldsets>
-
<template>
-
<email>
-
<(email_template_name)
-
module="(modulename)"
-
translate="[label][,description]"
-
>
-
<!-- definition -->
-
<(/email_template_name)>
-
</email>
-
</template>
-
<events>
-
<(event_name)>
-
<observers><!-- observers --></observers>
-
</(event_name)>
-
</events>
-
<eav_attributes><!-- definition --></eav_attributes>
-
<(modulename)><!-- custom config variables --></(modulename)>
-
</global>
Element
Description
models
|
resources
|
blocks
|
helpers
|
fieldsets
|
template
|
events
|
eav_attributes
|
(modulename)
自定义的变量(如设置邮件或newletter时非常有用) |
-
<admin>
-
<attributes>
-
<(attribute_name) />
-
<attributes>
-
<fieldsets><!-- definition --></fieldsets>
-
<routers>
-
<(modulename)>
-
<use>[standard|admin|default]</use>
-
<args>
-
<module>(NameSpace_ModuleName)</module>
-
<frontName>(frontname)</frontName>
-
</args>
-
</(modulename)>
-
<!-- or -->
-
<(modulename)>
-
<args>
-
<modules>
-
<(NameSpace_ModuleName)
-
before="(AnotherNameSpace_ModuleName)"
-
>
-
(New_ClassName)
-
<(NameSpace_ModuleName)
-
</args>
-
</(modulename)>
-
</routers>
-
</admin>
Element
Description
attributes
|
fieldsets
|
routers
|
-
<adminhtml>
-
<events>
-
<(event_name)>
-
<observers><!-- observers --></observers>
-
</(event_name)>
-
</events>
-
<global_search>
-
<products>
-
<class>(modulename)/search_catalog</class>
-
<acl>catalog</acl>
-
</products>
-
<customers>
-
<class>adminhtml/search_customer</class>
-
<acl>customer</acl>
-
</customers>
-
<sales>
-
<class>adminhtml/search_order</class>
-
<acl>sales</acl>
-
</sales>
-
</global_search>
-
<translate>
-
<modules>
-
<(NameSpace_ModuleName)>
-
<files>
-
<default>(name_of_translation_file.csv)</default>
-
</files>
-
</(NameSpace_ModuleName)>
-
</modules>
-
</translate>
-
<layout>
-
<updates>
-
<(modulename)>
-
<file>(name_of_layout_file.xml)</file>
-
</(modulename)>
-
</updates>
-
</layout>
-
<(modulename)><!-- custom config variables --></(modulename)>
-
</adminhtml>
Element
Description
events
|
global_search
|
translate
|
layout
|
(modulename)
自定义变量 |
-
<frontend>
-
<secure_url>
-
<(page_handle)>/relative/url</page_handle>
-
</secure_url>
-
<events>
-
<(event_name)>
-
<observers><!-- observers --></observers>
-
</(event_name)>
-
</events>
-
<routers>
-
<(modulename)>
-
<use>[standard|admin|default]</use>
-
<args>
-
<module>(NameSpace_ModuleName)</module>
-
<frontName>(frontname)</frontName>
-
</args>
-
</(modulename)>
-
</routers>
-
<translate>
-
<modules>
-
<(NameSpace_ModuleName)>
-
<files>
-
<default>(name_of_translation_file.csv)</default>
-
</files>
-
</(NameSpace_ModuleName)>
-
</modules>
-
</translate>
-
<layout>
-
<updates>
-
<(modulename)>
-
<file>(name_of_layout_file.xml)</
-
</(modulename)>
-
</updates>
-
</layout>
-
</frontend>
Element
Description
secure_url
|
events
|
routers
|
translate
|
layout
|
哈哈!有空我再把每一个element的意义加上去。有需要的可以联系我或者加入QQqun.
分享到:
相关推荐
【深入理解Magento——配置系统详解】 Magento是一款强大的开源电子商务平台,其配置系统是其核心组成部分,被誉为Magento的心脏。这个系统以XML的形式动态生成配置,掌控着模块、模型、类、模板等所有组件的行为。...
### Magento模块开发知识点详解 #### 1. Magento配置系统概述 Magento的配置系统是其核心组成部分,它像心脏一样支撑着整个Magento框架的运行。配置系统几乎管理着所有Magento架构组件,包括模块(module)、模型...
### Magento模板开发详解知识点 #### 一、皮肤的目录结构 - **理解皮肤的作用与重要性**:在Magento中,皮肤(Skin)是用于展示网站外观的重要组成部分,它定义了前端用户界面的设计风格,包括布局、颜色方案以及...
### Magento入门文档知识点详解 #### 一、Magento的配置系统 **1.1 设置组件的目录结构** Magento的配置系统是其核心组成部分之一,通过一套复杂的机制管理着系统的各个部分,包括模块、模型、类、模板等。配置...
- **etc/**:配置文件目录,如`config.xml`和`local.xml`。 - **modules/**:各模块的配置文件,如`Mage_All.xml`、`Mage_AmazonPayments.xml`等。 - **design/**:设计主题的配置目录,包括`install/`、`default...
- **解决方案:** 更新数据库表`core_config_data`中的配置信息,确保其指向本地环境的URL。 - **问题2:站点内部链接仍指向原服务器** - **解决方案:** 清除网站缓存,并重新配置站点选项,确保所有链接指向...
### Magento模板开发图文教程知识点详解 #### 一、皮肤的目录结构 在Magento系统中,皮肤(也称为主题)的目录结构非常重要,它决定了前端显示的样式和布局。每套皮肤都有其特定的目录结构: - **根目录**: 通常...
- **配置文件**:每个模块都有一个`config.xml`文件,用于声明模块的各个组成部分。这些配置文件在系统启动时会被加载到一个大的配置树中,以便在整个系统中访问。 - **控制器(Controllers)**:控制器负责处理...
### Magento新闻模块开发教程知识点详解 #### (一) 创建骨架目录 在开发Magento新闻模块时,首先需要构建项目的目录结构。这一步至关重要,因为它决定了模块的组织方式以及如何与Magento框架交互。 - **目录结构*...
1. **Magento 模块结构**:遵循 Magento 的模块开发规范,包括 etc/config.xml、controllers、Block、Model 和 View 文件夹结构,以及相应的注册文件。 2. **控制器重写**:模块可能通过重写 Magento 的 Adminhtml ...
**phpMyAdmin 知识详解** phpMyAdmin 是一款功能强大的、开源的Web应用程序,用于管理和维护MySQL或MariaDB数据库。它提供了一个直观且易于使用的界面,使得即使没有深厚技术背景的用户也能轻松进行数据库操作。...