This tutorial covers the following topics:
- What are Joomla Positions?
- Joomla 3 Default Template - Protostar Positions
- How to publish a module in a chosen position?
- How to change the position of a published module
- How to reorder modules published in the same position
- What happens if you change your template?
- How to find out the available positions in the template you're using?
What are Joomla Positions?
Each Joomla template has positions in which you can publish different modules. Think of the positions as placeholders in the template which you fill with different type of content - menus, slideshows, login forms, search forms, etc. The possibilities are endless. Module positions are defined in the template you're using and its designer has control over them. It depends on the template you're using how many available positions you have, where they are placed and how they look.
Joomla 3 Default Template - Protostar Positions
The Protostar template has the following 9 pre-defined template positions.
In the default sample data there is no content in the left column (Left [position-8]) or the space above the first article (Top center [position-3]). If you publish any module in them, they will be visualized. The Debug [debug] is also not utilized by default. It's used mostly by developers to test their code and show debug information under the footer.
How to publish a module in a chosen position?
To illustrate the way you add modules to your site, we will add a search module to the default Joomla 3 template. To begin, go to Extensions -> Modules.
Now, press the green New button in the top left part of the page to add a module.
You will see a list of the available module types. Choose to add a Search module.
On the next page, you will be asked to add some information for that module. Select a title for it - Search for example, and choose the module to be displayed in position-0. Finally, click on the green Save button.
You can now go to the front page of your Joomla and see the newly published search module in the top-right part of the site.
How to change the position of a published module
To change the position of a module, first login to your Joomla admin page and go to Extensions -> Modules.
On this page you will see a list of your modules. For the purpose of this tutorial we will move the Latest Articles module from the right column of the Joomla default template (position-7) to the left one (position-8). Find out the Latest Articles module and click on its name. If you have trouble finding your module, use the search filter on top of the table which can be very useful if you have many modules.
On this page, locate the Position drop-down menu and click on it. You will see that a list of the available positions will appear. Select position-8.
Finally, click on the green Save button on the top.
That's it, you can now go to the front end of your website and see the Latest Articles module showing in your left column.
How to reorder modules published in the same position
In the Joomla layout example above, we have two modules published in our right column - a "Popular Tags" and a "Latest Articles" module. To put the search module above the other one, first you need to go to Extensions -> Modules.
Then click the Search Tools button and from the Position drop-down choose position-7 and click Search.
Next, you need to sort that table by its order. To do this choose Order ascending from the drop-down menu on the right part of the page.
Then, simply click on the three small dots in the first column of the table and then drag-and-drop the line for the Latest Articles module, above the Popular Tags one.
Once you do that, go to the front end of your Joomla site and you will notice that the Latest Articles module has moved above the Popular Tags one.
What happens if you change your template?
As mentioned above, module positions are defined within inside the template code. Unfortunately, there is no standard for naming position. This means that each template designer can name positions differently.
For example, instead of position named [position-8] as it's defined in Protostar, you may have a position [leftcolumn]. This means that when you switch template, you need to change the position of all modules, that you have published in the Protostar's [position-8] to the new left column position.
How to find out the available positions in the template you're using?
There is one very useful trick that you can use to find out what are the names of any Joomla template positions and where they are situated on the front end. First, go to Extensions -> Templates.
On this page, click on the Options button in the top menu.
Here, switch the Preview Module Positions to Enabled and click on the Save green button in the top left part of the page.
Finally, go to the front of your website, and add the index.php?tp=1 option at the end of your URL. It should look like this http://yoursite.com/index.php?tp=1. You will see an output similar than the one on the screenshot below.