Joomla Extensions Explained

  • Created
    Sunday, 18 September 2011
  • Created by
  • Last modified
    Sunday, 25 September 2011
  • Revised by
  • Favourites
    Add to favourites
  • Categories

joomla-how-to-joomla-extensions-explainedLearn everything you need to know about Joomla extensions.  From Modules, Plugins, Components and Templates - We explain what they are and what they do.



The Complete Guide to Joomla Extensions.


Websites typically are just simply pages of information, mainly content that has been created by someone to serve a purpose of some sort. The majority of small business websites are perhaps simply just small 5 or 6 page "brochure" sites that contain the essential information relating to the specific business and typically this serves them well, allows them to be found on the search engines, provides their customers with an overview of the products or services offered and also provides contact information.

However there may be the need to go beyond just displaying some content and perhaps integrating more dynamic content and data is needed. For instance, you may have some new job vacancies that have just opened up within your business, so being able to not only display these vacancies, but also offer the ability for your potential prospects to apply for each can help cut down on administration of sending out application forms, responding to queries etc.

Perhaps you may have previously listed some of the products that you sell and to help drive sales you may wish to enable your customers to buy online directly from your website, again this is easily achievable.

The beauty being that your website can be made to work for you in more ways than one, 24 hours a day, driving sales and generating business non-stop. In a time of austerity where every business is looking at ways to save costs and become more efficient, implementing enhancements to your website can not only save you money thereafter (in reduced administration, customer services etc.) but can also generate you money too, putting you ahead of your competitors in a time when growing your business can be hard, but staying in business can be even harder.

When it comes to these factors, there is no better website system than Joomla!, which gives you all of these possibilities and more and it does so by the power of its extensions, of which there are currently over 7,000 free or low cost extensions that give you the ability to extend or transform your website from one of being a simple content based website to one that can dynamically display the data that you choose.

The greatest thing about it being that it is so easy to do.

Joomla! Modules, Components and Plugins

Joomla! extensions typically fall into three categories which consist of Components, Modules and Plugins, with each performing a different type of task and processing data in different ways.

Joomla! Modules Explained

In Joomla!, Modules are used to display content or media, within specific parts of the pages. Joomla! modules can be thought of as small applications that are displayed in a certain area of the page, and can be set to show on just one page, a selection of pages or every page depending on the choice within the parameters for the specific module which is configured within the back-end of the web site.

For instance, on a typical Joomla web site the menu itself is a module, configured in the back-end of the website by the administrator. Other types of Modules on a typical Joomla site are Polls, Latest News, Banners, Breadcrumbs, Login Forms and more, with thousands more free and commercial Modules available to download from the Joomla Extensions Directory, designed to do a wide range of different things.

Joomla! Components Explained

A component is technically a mini-application (or Web App) that runs within a Joomla! site, that performs its own tasks but links into the Joomla! CMS. Components require the Joomla! framework to work and do not work outside of Joomla!, but rather Components 'extend' Joomla!'s ability to perform tasks and process data in many more ways than originally intended.

Out of the box, Joomla! is a Content Management System that enables its users to be able to create pages and add content to them, making the whole process of running a website easier. However Components install into Joomla!, becoming part of it, extending its feature set and allowing it to become more than just a Content Management System, giving it the ability to become so much more, from e-Commerce solutions, Directories, Project Management systems and more.

Joomla! Plugins Explained

A Joomla! plugin is a small Joomla! extension that works in the background of your website, almost as if it were a small block of code that had been manually inserted into the code of your website, as you would typically do when adding in a piece of JavaScript for instance, i.e. Google Analytics script. Joomla! plugins are a powerful way of extending the basic Joomla! functionality by allowing you to execute code in response to certain events, which can be Joomla! core events or custom events that are triggered from your own code or extensions. The great thing about Joomla! plugins are that they take care of this for you - no need to manually edit the code of your website, plugins inject specific pieces of code into your website pages for you, and can perform a variety of tasks. There are many free and commercial 3rd party Joomla! plugins available that can perform a variety of tasks.

Joomla! Extensions Directory

The Joomla! extensions directory is the official directory of components, modules and plugins for the Joomla! CMS and is typically where you would start when you are looking to extend your website further. With currently over 8,000 free and commercial extensions, ranging from shopping carts to side show galleries, these extensions can help transform any Joomla! website into almost any type of site required, from directories, e-commerce stores, portfolios, job listings, classifieds, real estate agencies, project management systems, social networks, news portals, magazine sites and much more.

As with any directory, the Joomla! extension directory is categorized into sections such as Calendars and Events, e-Commerce, Financial, Maps & Weather, Vertical Markets and many more categories to choose from, with each category containing sub categories to help better organize the extensions and to help you find just the right extension to suit your needs.

What is especially good about the Joomla! extension directory is the fact that it is only comprised of GPL extensions, which without getting too technical are open source extensions (GPL being a license type) that not only allow you to modify the extensions to suit your needs, but also re-use them as many times as you need on any of the websites you require, or redistribute them should you wish, regardless of the fact that the extensions may be commercial or not.

The highlight of the directory however is with the additional information that relates to each Joomla! extension, which includes such information as user reviews and ratings, number of downloads, compatibility and so on. There are many reviews and comments on each extension, giving you the best way of helping you form your choice of which extension to use for any given requirement.

Other highlights of the directory are the breakdown of the best Joomla! extensions based on popularity, recently updated, editors picks, most favored, most rated, top rated, most reviewed and even those that are compatible with Joomla! 1.6/1.7.

Joomla!'s Built-in Components

Joomla! comes with only a couple of user usable components, the rest making up the core components that form the Joomla! system and helps make it usable.


The Banners Component works with the banners module and is used to configure and control banner advertisements with images throughout the site. All banners are configured in the Banner Manager, with the banner module allowing you to choose from any banners available.


The Newsfeeds Component allows you to add News Feeds from other sites to your Joomla! site.


The Web Links Component allows you to add links to other web sites on your Joomla! web site, in a list or in categories, rather than adding individual links that you would add within content.

The following components cannot be uninstalled and form the core Joomla! system

• Content Page

• Cache Manager

• Configuration Manager

• Contact Items

• Control Panel

• Installation Manager

• MailTo

• Mass Mail

• Media Manager

• Menus Manager

• Messaging

• Module Manager

• Plugin Manager

• Search

• Template Manager

• User

• User Manager

• Wrapper

Joomla's Built-in Modules

Joomla! comes with several built-in modules out of the box, all of which can be found within the Module Manager.

Here we display a list and small overview of each module included with Joomla!:


The advertisement module shows advertisements that have been configured within the module, along with the built in banner manager component. This can show a combination of wording or banners or both.


The Archive module will show a list of any articles that have been archived, arranged by month.


The Banners module shows advertisements with images, with a specified URL that will take the visitor to the URL set. All banners are configured in the Banner Manager, with the banner module allowing you to choose from any banners available.


Breadcrumbs are links that display the location of where you are within a site, along with the pathway links that allow you to jump to each parent area right back to the home page.

Feed Display

The feed display module allows you to show RSS feeds from other sites, within the module itself.


The footer module is designed to show the Joomla! copyright information at the bottom of the pages that it is published on. You cannot customize the Joomla! copyright information within this module.

Latest News

The Latest News Module displays a list of the most recently published Articles.

Login Form

The Login Form Module displays a username and password login form and allows a previously registered user of your website to log into the site. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings) it also allows users to register with your website.

Main Menu

Displays a menu (from any previously configured using the Menu Manager).


The Newsflash Module can display either a random article or a fixed number of articles in a horizontal or vertical format.


The Polls Module complements the Polls Component and is used to display any Polls that have been configured using the Polls Component, by selecting a specific Poll to display in the Poll Module.


The popular module displays a list of the most popular articles on your site (articles with the most hits).

Random Image

The random image module simply shows a random image every time a page is viewed (or refreshed).

Related Items

The related items module shows a list of links to articles that are related to the current one, determined by the keywords entered into each articles meta data settings when creating or editing an article.


The search module displays a search box that allows your website visitors to search your website.


The statistics module displays some information on: Server information (for security reasons it is best not to enable this), Site information, Hit counter which will all help show how many users your site has, the amount of hits it receives and more. Apart from boasting about the number of its or visitors it is hard to see what benefit this would have to your website.


The syndication module adds an RSS button to your pages and allows your website visitors to subscribe to and read feeds from your website.

Who's Online

The Who's online module simply just displays the amount of visitors that are currently on your website comprising of guests and members and if chosen also the member names.


The wrapper module lets you display other websites within frames on your website pages.

Joomla!'s Built-in Plugins

Joomla! comes with several core plugins pre-installed (most of which cannot be uninstalled). Most of the core plugins can be disabled however and disabling unneeded plugins can reduce the size of the code used to display your website, thus making your pages load faster. Therefore it is important to know what the core plugins are and also what order you should set them to for the best efficiency.

There are eight different types of categories that the core Joomla! Plugins are divided into, which are:


The Joomla! authentication plugins enable your website to authenticate users from any source, whether they are from the internal Joomla! database, Open ID, LDAP directory or any other type of 3rd party authentication system that can be accessed using PHP.

Joomla! - Handles Joomla!'s default User authentication.

LDAP - Handles User Authentication against an LDAP server.

OpenID - Handles user authentication with an OpenID.

Gmail - Handles User Authentication with a GMail account.

The Joomla! Authentication plugin is the only authentication plugin enabled by default and all others may be uninstalled if need be.


Joomla! content plugins help manipulate how your content is displayed and can add functionality to help extend your content further.

Page Navigation - Enables you to add the Next & Previous functionality to an Article.

Rating - Add the Voting functionality to Articles.

Email Cloaking - Cloaks all e-mails in content from spambots using JavaScript.

Code Highlighter (GeSHi) - Displays formatted code in Articles based on the GeSHi highlighting engine.

Load Module - Loads Module positions within Content, Syntax: . Modules Anywhere (from is a good alternative).

Pagebreak - Add Table of Contents functionality to a paginated Article. This is done automatically through the use of the page break button added to the lower part of the text panel in an Article. The HTML code is included here as a reference of what is available. The page break will be displayed in the text window as a simple horizontal line.

Tip for advanced users: All core Joomla! content plugins are enabled by default, excluding the Code Highlighter (GeSHI). If you are not using the others then it may be a good idea to disable them as you may see a slight performance improvement by limiting the amount of code and processes that needs to be run.


Joomla! editor plugins are what really allows you to create and edit the content that you display on your website. They can be thought of as word processors built into your website, allowing for great control over how your content is formatted, using a WYSIWYG (What You See Is What You Get) format.

No Editor - This loads a basic text entry field.

TinyMCE 2.0 - TinyMCE is a platform-independent Web-based JavaScript HTML WYSIWYG Editor control.

XStandard Lite 2.0 - XStandard is the leading standards-compliant WYSIWYG editor Plugin for desktop applications and browser-based content management systems (IE/Mozilla/Firefox/Netscape).

By default, the XStandard Lite 2.0 editor plugin is unpublished. None these editor plugins can be uninstalled.

JCE is the most popular 3rd party content editor extension which is highly recommended, with lots of great features and ease of use.


Joomla! XTD (extended) plugins offer more control over your content and do this by adding additional buttons below the editor plugins (WYSIWSYG editors).

Image - Displays a button to make it possible to insert images into an Article. Displays a popup allowing you to configure an image's properties and upload new image files.

PageBreak - Provides a button to enable a pagebreak to be inserted into an Article. A popup allows you to configure the settings to be used.

Readmore - Enables a button which allows you to easily insert the Read more... link into an Article.


The Joomla! search plugins enable Joomla! search to index and display the content and structure of your website (articles, contacts, categories, sections etc.).

Content - Enables searching of all Articles.

Weblinks - Enables searching of Web Links Component.

Contacts - Enables searching of the Contact Component.

Categories - Enables searching of Category information.

Sections - Enables searching of Article Section information.

News feeds - Enables searching of News Feeds.

The entire core Joomla! search plugins are enabled by default. Typically when a visitor searches your site it is mainly the content areas that they are searching for, and therefore disabling the other core search plugins may be beneficial to have a cleaner looking search results page.


The Joomla! system plugins perform actions at various points in the execution of the PHP code that powers Joomla!

SEF - Adds SEF support to links in the document. It operates directly on the HTML and does not require a special tag.

Debug - Provides debug information.

Legacy - Provides Legacy Support for older versions of Joomla!

Cache - Provides page caching.

Log - Provides System Logging.

Remember Me - Provides Remember Me! Functionality.

Backlink - The Backlink Plugin provides support for legacy Joomla! 1.0.x links. It redirects old style URLs and document links to the correct Joomla! 1.5 targets.


Joomla! user plugins perform various actions at different times with respect to users. These actions can include logging users in and out of the website.

User - Joomla! - Handles Joomla!'s default User synchronisation.


Joomla! XML-RPC plugins allow other external systems to interact with Joomla! such as the Blogger API, Akeeba Remote Backup, Movable Type API and so on.

XML-RPC - Joomla! - Joomla! XML-RPC API.

XML-RPC - Blogger API Blogger XML-RPC API.

The importance of Joomla! plugin order

There are some best practices when it comes to Joomla! plugins and learning about plugin order can help make your website faster and less prone to errors.

Although Joomla! plugins are the type of extension that gets the least amount of attention from website administrators, it is important to understand the order that plugins should be processed.

The purpose of Joomla! plugins is to affect the way that Joomla! works, displays content, authenticates users, processes user logins, SEO and so on. Plugins are executed in the order that they are in as listed in the Plugin Manager (within the Administrator panel, 'Extension' -> Plugin Manager). Therefore if a specific plugin is before other plugins then it may not be able to process their results which can result in an inefficient or even semi-broken website.

For example, if a cache plugin was ordered and processed before other content type plugins, it will therefore be unable to cache any content that gets processed after it has been executed.

So it is important to order your plugins appropriately, which may take a little trial and error.

However a good starting point would be to order your plugins as:

Regular plugins

SEO and SEF plugins

Optimization Plugins

Cache plugins

For the most efficient system, try to think about the most logical order of plugins and what effect each plugin will have on the following plugins that load and execute after it and what the logical order would be for these to be in.