8. Joomla

In this section of my tour of my websites, I will look at Joomla. I have used Joomla to create Scottish Mountain Landscapes, my landscape photography website.


Joomla is a popular open-source content management system.

Joomla is a content management system for publishing websites. Like WordPress, its two main components are MySQL, an open-source relational database management system, and PHP, an open-source server-side scripting language. MySQL stores the content, and PHP does the work of presenting the content to the user.

The main features of Joomla are:

  • A template system, which enables the user to change the appearance of the site, without altering the content.
  • A module system, which controls the layout of the site.
  • An extension system, which extends the functionality of the site.
  • A administrator area. This is the administration and control area of the site.
Joomla Administrator Area

The Administrator Area is the nerve-centre of Joomla. All the functionality is controlled from here, including templates, extensions and updates.

Content such as static pages, posts and images are also added via the Administrator Area.


Joomla uses a module system for controlling the layout of the site. The main content of a page, or article as they are known in Joomla, appears in the centre. Modules allow the user to add extra content to different areas of the article.

Items such as carousels, login forms, search forms, menus, headers, footers and sidebars can be added in module positions. The module system gives the user great flexibility in designing the layout of a Joomla site.

Elegant Joomla Template Module Map

A module map is a plan of the module layout of a Joomla template, provided by the template designer. Different templates have different module layouts, and this is an important consideration when choosing a Joomla template.

The user can choose which modules he wants to use- as many or as few as he likes.

The user can also select which articles display a particular module- a module such as a carousel or a contact form doesn't have to appear in every single article.


There are two types of Joomla templates: open-source and commercial. Many companies offer commercial themes, including Energize Themes. I chose the Elegant commercial template by Energize Themes for Scottish Mountain Landscapes. It has a simple, uncluttered layout and plenty of white space- ideal for a photography website.

Elegant Joomla Template

Elegant is a commercial Joomla template, which incudes a carousel. The carousel can be assigned to the home page only, or to other pages of the site.

Elegant includes built-in control panel, which allows the template settings to be easily updated. The control panel is accessed via the Joomla administrator area.

Elegant includes a number of built-in colour styles, which can be selected via the template control panel. It is also possible to customise almost every part of the colour scheme, using the theme customisation tool.


Extensions are software add-ons, which extend the functionality of a Joomla website. There are 3 main types of Joomla extensions:

  • Modules are lightweight and flexible extensions. Modules provide additional self-contained content in small areas of Joomla articles- the module positions shown on the module map above. Examples: Banners (mod_banners), Menus (mod_menu), and Who's Online (mod_whosonline).
  • Plugins are more advanced extensions, and are essentially event handlers which modify Joomla content. When an event such as a user logging in occurs in Joomla, plugins that are registered to handle that event are executed. Examples: Editor, Captcha, Authentication, and Search.
  • Components are the largest and most complex extensions. They can be sophisticated applications in their own right. Examples: Content (com_content), Contacts (com_contact), and News Feeds (com_newsfeeds).
Joomla Extensions Directory

The Joomla organisation maintains a directory of extensions here.

I use the following extensions on Scottish Mountain Landscapes:

  • JoomBall Cookies. I use this module to enable the site to comply with EU cookie law. It adds a banner to the site with an accept/decline button, and a link to the cookie policy page.
  • Sourcerer. I use this plugin to to place PHP scripts, HTML, CSS and JavaScript into Joomla articles.
  • JCE. This extension consists of a component and a plugin. It is a WYSIWYG editor for Joomla content.
  • Sigplus Image Gallery Plus. This extension consists of a module and a plugin. I use this extension to add photo galleries to Joomla articles.
  • OSOLCaptcha. This plugin provides a captcha, which prevents spam being sent by the contact form.
  • Google Maps by Reumer. This plugin displays a Google map or satellite view in Joomla articles.
  • Minicalendar. I use this module to display a monthly calendar in the footer of each article.
  • Snowfalling . This module displays a snow effect. Very nice at Christmas.


In order to customise the appearance of Scottish Mountain Landscapes, I added a custom stylesheet to the Elegant template. This is done via the Templates: Customise section of the Joomla administrator area.

Flare Child Theme

I created my custom stylesheet, custom.css, using the editor facilty of the Templates: Customise section. custom.css is saved in the css folder of the template.

The custom stylesheet is then addded to the template by adding a line of code to the index.php file. This causes the custom stylesheet to be called every time a page is loaded.