Declaring module positions
From Joomla! Documentation
The templateDetails.xml file contains all the installation and core information for a template. In order for module positions to be available for selection in the Module Manager, the positions must be declared in the templateDetails.xml
file of the template.
Module Elements in templateDetails.xml
In the file, the sub-element <positions>
along with its sub-elements <position>
define the locations available for each module position supported by the template. Here is a brief list of the commonly used names for the various module positions and how they are declared.
<positions> <position>top</position> <position>left</position> <position>right</position> <position>bottom</position> <position>banner</position> <position>syndicate</position> <position>footer</position> <position>user1</position> <position>user2</position> <position>user3</position> <position>user4</position> <position>debug</position> </positions>
Although these are commonly used, it is up to the template developer to choose both a module position name and the accompanying display layout.
The addition of module positions, as displayed above, is implemented in between the <positions>
and </positions>
tags. In between those tags in the templateDetails.xml
file, add the name of the module position in between a set of <position>
and </position>
tags.
You can add and define new module positions and give them any name you like, but it is recommended that you support at least those shown in the example above. This is so that some level of consistency is maintained when switching templates or using multiple templates on a single site.
Use and Implementation
A Joomla! template displays a set of modules added to a specific position using the <jdoc:include />
statement shown below:
<jdoc:include type="modules" name="name of module position" style="xhtml" />
For further information about <jdoc:include />
code and how to use it, see jdoc statements.