11Dec2017
Information
Print

The Joomla module title and a little misconception

Information
module template
First published November 28, 2017
1311 hits -
 

Once in a while, I am asked specific questions about modules. The user thinks there are problems with the module while the issues are actually template related. Those questions come from a confusion that is originated by the way module parameters are presented to the user in the Joomla console.

When creating a module instance, the administrator console presents a series of tabs containing the module's parameters. That list of tabs usually ends with an advanced one. 
In the advanced tab, the last parameters are usually the following (and are added automatically by Joomla!):

Module tag the HTML tag for the module
Bootstrap size Width of the module (how many columns the module needs to stretch in a Bootstrap environment)
Header tag the HTML tag for the module title
Header class A list of CSS classes that can be attached to the module title
Module style The template style given by templates (inherits to the template's position the module is in)

The developer of the module does not have to use/handle those parameters. They are template specific and are handled by it. They represent the 'shell' of the module, the container the module will fall/appear into. This also includes how the title of the module will show.

The template can specify the way module instances are represented at every single of its positions. All those renderings are specified in a unique file, [your template]/html/modules.php. The enumerated definitions end up being the values available in the module style parameter. 

For instance, the template's developer can decide if there is going to be a module title when the module's position is below the content. Therefore, if you don't see a title, this has not been decided by the module's developer, but by the template one.

It is possible, but not advisable (in case the template is removed before production, for instance), to use the look of a template other than the one you are using by default. For example, the well style, found in the Protostar template, is very useful if your template is Bootstrap-based. It grays out the background area of the module, adds rounded corners and shows an underlined module title.

The Protostar well style
The Protostar well style

The previous bloc is composed of the template shell (the container - which includes the module instance's title) and the module instance (the content):

From now on, whenever you will encounter issues with the module's title or the module's shell look, you will know you should also check its template configuration.