Once I had figured out the basic organization of menus and articles in Joomla, I had one more obstacle to overcome. I was looking at the sample site that was bundled with my installation, and I wanted to know how to control the various elements on my pages other than the articles. For example, the sample site has a poll, a “newsflash” block, a user login form, and other various elements on the pages. I wanted to know what those were and how to control them in the Joomla administration interface.
These elements that are scattered on your pages are modules in Joomla parlance. You can see a list of all the modules configured for your site by selecting “Module Manager” from the “Extensions” menu in the administration interface.
The items you see in the Module Manager are instances of your installed modules, each with its own set of configuration parameters. For example, you could have an instance of mod_feed, a module that knows how to display an RSS feed. You can configure this instance with the URL to the RSS feed you want to track, along with some display options. You can create more than one instance of a given module and configure each independently.
One of the great things about Joomla and the wide variety of templates that are available for it is that you don’t usually have to dig through the template code. Just upload a template archive file, select it, and away you go.
But it can be helpful to take a quick peek under the hood to learn a little bit about module positioning. Once you’ve created and configured a module, you have to indicate to Joomla where it should go on your site. There are two parts to this process:
- Menu Assignment: specify the menu items on which the module should appear
- Position: specify where on the pages the module should appear
If you’ve read through the first two parts of this series, you should have a good understanding of menus and how your site’s “pages” are really organized into menu items. So you should not be surprised by the selection box of menu items that appear in the Module Manager’s Menu Assignment section.
But what about the positions that are available in the Position dropdown? Where do those come from? They’re driven by your template’s HTML.
If you have a look inside the HTML of a template, you’ll see tags like this:
<jdoc:include type="modules" name="user5" style="table" />
This defines a position called “user5”. If you assign a module to “user5”, the HTML for that module will replace this tag in the template HTML. If you assign more than one module to a particular position, the modules will just be inserted sequentially into that spot in the template HTML.
For a really convenient way to examine your template’s available positions, simply add “?tp=1” to one of your site URLs. Joomla will render the page as normal, but it will include markers for each of the positions in the template.
For example, you can go to https://www.smorgasbork.com/?tp=1 to see this in action on this site.
This concludes this series of articles on Joomla. I hope it helps clear up some concepts for folks like me who understand the web and basic concepts of content management but don’t find the Joomla content model completely obvious from the start.