You are on page 1of 5

config.

xml Reference
app/code/(codepool)/(NameSpace)/(ModuleName)/etc/config.xml

Used to configure module. Defines all models, blocks, classes etc. for the specified module.

There is a separate config.xml file for each module. However all the files are merged together during the
parsing process. This insight really helps to understand the XML structure. It is the reason that the module name
is repeated as an XMLelement name (represented below as <(modulename)>) several times through every file -
this is necessary to segregate configuration for each module. Without these elements, the configuration in these
sections would be overwritten by the configuration files in other modules. For the same reason, it also means
that it is really important to follow the Magento naming conventions for user-defined XML elements (such as,
for example, <(modulename)_setup>).

1. <config> </config>

XML Structure
Elements
Element Description Example
modules
Used to define basic information about each module such as version
number, dependencies on other modules
global
admin Used to define module’s admin routers, attributes and fieldsets
adminhtml
install Page
frontend
default
stores Adminhtml
websites Adminhtml

By convention, these elements are specified as in the table above. The XML sub-structure of each element is
described separately below.

modules
XML Structure
Collapse source
1<modules>
2 <(NameSpace_ModuleName)>
3 <active>[true|false]</active>
4 <codePool>[core|community|local]</codePool>
<depends>
5 <(AnotherNameSpace_ModuleName) />
6 </depends>
7 <version>(version_number)</version>
8 </(NameSpace_ModuleName)>
</modules>
9
Elements
Element Description
active Whether module is active (this value can be overridden in back-end)
codePool Specifies subdirectory of app/code
depends Specifies dependencies of this module on other modules
version Defines version of module for use with installation / upgrades

The elements active, codePool and depends are normally defined in the app/etc/modules/(NameSpace)_*.xml
files, and the version element is normally defined in the module config.xml file.

global
XML Structure
Collapse source
1 <global><models>
2 <(modulename)>
3 <class>(ClassName_Prefix)</class>
4 <resourceModel>(modulename)_(resource_model_type)</resourceModel>
5 <(modulename)_(resource_model_type)>
<!-- definition -->
6 </(modulename)_(resource_model_type)>
7 <rewrite><!-- definition --></rewrite>
8 </(modulename)>
9 </models>
<resources>
10
<(modulename)_setup><!-- definition --></(modulename)_setup>
11 <(modulename)_read><!-- definition --></(modulename)_read>
12 <(modulename)_write><!-- definition --></(modulename)_write>
13 </resources>
14 <blocks>
<(modulename)>
15 <class>(ClassName_Prefix)</class>
16 </(modulename)>
17 </blocks>
18 <helpers>
19 <(modulename)>
<class>(ClassName_Prefix)</class>
20 </(modulename)>
21 </helpers>
22 <fieldsets>
23 <(page_handle?)>
<(field_name)>?</(field_name)>
24 </(page_handle?)>
25 </fieldsets>
26 <template>
27 <email>
28 <(email_template_name)
module="(modulename)"
29 translate="[label][,description]"
30 >
31 <!-- definition -->
32 <(/email_template_name)>
</email>
33 </template>
34 <events>
35 <(event_name)>
36 <observers><!-- observers --></observers>
</(event_name)>
37 </events>
38 <eav_attributes><!-- definition --></eav_attributes>
39 <(modulename)><!-- custom config variables --></(modulename)>
40 </global>

Elements
Element Description
models
resources
blocks
helpers
fieldsets
template
events
eav_attributes
(modulename) Custom config variables
admin
XML Structure
Collapse source
1
2 <admin>
<attributes>
3 <(attribute_name) />
4 <attributes>
5 <fieldsets><!-- definition --></fieldsets>
6 <routers>
<(modulename)>
7 <use>[standard|admin|default]</use>
8 <args>
9 <module>(NameSpace_ModuleName)</module>
10 <frontName>(frontname)</frontName>
11 </args>
</(modulename)>
12 <!-- or -->
13 <(modulename)>
14 <args>
15 <modules>
<(NameSpace_ModuleName)
16
before="(AnotherNameSpace_ModuleName)"
17 >
18 (New_ClassName)
19 <(NameSpace_ModuleName)
20 </args>
</(modulename)>
21 </routers>
22 </admin>

Elements
Element Description
attributes
fieldsets
Used to define Magento’s router to look for the module’s controllers in the
routers YourModule_controllers_Adminhtml before we look in the Mage_Adminhtml module for all urls
that begin with /admin/controller_name
adminhtml
XML Structure
Collapse source
1 <adminhtml>
2 <events>
3 <(event_name)>
4 <observers><!-- observers --></observers>
</(event_name)>
5 </events>
6 <global_search>
7 <products>
8 <class>(modulename)/search_catalog</class>
<acl>catalog</acl>
9
</products>
10 <customers>
11 <class>adminhtml/search_customer</class>
12 <acl>customer</acl>
13 </customers>
<sales>
14 <class>adminhtml/search_order</class>
15 <acl>sales</acl>
16 </sales>
17 </global_search>
18 <translate>
<modules>
19 <(NameSpace_ModuleName)>
20 <files>
21 <default>(name_of_translation_file.csv)</default>
22 </files>
</(NameSpace_ModuleName)>
23 </modules>
24 </translate>
25 <layout>
26 <updates>
27 <(modulename)>
<file>(name_of_layout_file.xml)</file>
28 </(modulename)>
29 </updates>
30 </layout>
31 <(modulename)><!-- custom config variables --></(modulename)>
</adminhtml>

Elements
Element Description
events
global_search
translate
layout
Element Description
(modulename) Custom config variables

install
XML Structure
frontend
XML Structure
Collapse source
1 <frontend>
2 <secure_url>
<(page_handle)>/relative/url</page_handle>
3 </secure_url>
4 <events>
5 <(event_name)>
6 <observers><!-- observers --></observers>
7 </(event_name)>
</events>
8 <routers>
9 <(modulename)>
10 <use>[standard|admin|default]</use>
11 <args>
12 <module>(NameSpace_ModuleName)</module>
<frontName>(frontname)</frontName>
13 </args>
14 </(modulename)>
15 </routers>
16 <translate>
<modules>
17 <(NameSpace_ModuleName)>
18 <files>
19 <default>(name_of_translation_file.csv)</default>
20 </files>
21 </(NameSpace_ModuleName)>
</modules>
22 </translate>
23 <layout>
24 <updates>
25 <(modulename)>
<file>(name_of_layout_file.xml)</
26 </(modulename)>
27 </updates>
28 </layout>
</frontend>
Elements
Element Description
secure_url
events
routers
translate
layout
default
XML Structure
Stores websites

You might also like