There are some crucial differences between Joomla modules, components and plugins which you need to understand
Unless you understand the difference between a module, a component, and a plugin, you will find it very difficult to administer a Joomla installation. This article will explain the difference between modules, components, and plugins and give examples of the usage of each of them.
These are all different types of Joomla extensions, or "add-ons" that create and cater for specific features or functions of Joomla.
Joomla Modules vs Components
Joomla Modules are usually small pieces of functionality designed to present information on your site. They can appear a number of times, on a number of pages in various positions.
On the contrary components are full-blown applications, usually quite complex and are specific to the main body of a page (most times).
Also, each module can be viewed in various pages, and the position of each module can be easily changed. You are allowed to select the menu items where a module is displayed.
The visibility of a module is usually associated with one (or several) menu items.
A good example of the usage of this functionality is targeted advertising or banners. The login or search module are also good examples of modules.
Let's stick to the advertising example, because it is better for explaning.
If your site has various sections, you can create a different advert module for each section (let's say that your website has a section about shoes, and a section about dresses). You can create two different modules, each module will contain a targeted advert for the section (i.e. one about shoes, the other about dresses).
Now instead of showing all the modules, all the time, you customise the visibility of the module such that each advert is displayed only in the relevant menu links. So your shoes advert will be associated with the menu items that take you to the shoes section, and the dresses menu items will feature the other advert.
Below you can see a screenshot of how to choose the menu items where a module is displayed.
The module is displayed in the chosen menu items only.
Typical examples of standard Joomla modules are the following. As we can see the function of each of the modules mentioned is quite restricted, or rather, focused on a specific function:
- Main / User / Top and other menus
- Latest News
- Popular Articles
- Login Form
- Syndication Feeds
- Custom HTML
The beauty of Joomla comes from the fact that developers can create their own modules that perform more functions.
3rd Party Modules
- Modules for displaying Paypal Payment or Donate Buttons
- Modules for displaying YouTube Videos
- Modules for rotating images / scrolling images, sliders, galleries
Installed modules can be found in the Extensions > Modules menu. The configuration of modules is typically very easy, and is done by clicking on the module name in the Modules page.
This will bring up the parameters of the module, which you can then customise to suit your needs.
On the other hand, a Joomla component is typically more complex, with extensive functionality and capabilities.
A component can only be displayed in the main area of a page, and is usually displayed in a single page, though it can be used on multiple pages. Links to components are usually created using menu items as shown in the image below.
Components usually have a particular page or pages for their configuration, together with some additional "display" parameters when creating the menu item. Below we are creating a link to a download component:
Core Joomla Components
- FrontPage component - this is used to display the contents on the front page. One can decide how many items to show on the front page, in how many columns, how many articles to have an intro only or not, and various other options.
- WebLinks - this is a component where the user can configure different link categories and add items to each category.
- Banners - allows a Joomla website to create and display banners for advertising purposes
- Search - this is the component that powers the search module
- Tags - allows articles to be tagged, and viewed through these tags
Recommend Reading:Joomla Extensions to take your website to the next level
3rd Party Components
- JFBConnect - a component which allows you to register users on your Joomla website using their Facebook username and password
- sh404SEF - a component which is used to create Search Engine Friendly URLs for your Joomla content. Besides SEF URLs, this component allows you to perform a number of functions related to SEO (Search Engine Optimization) techniques.
- HikaShop - this component is used to create a shop and shopping cart and other eCommerce functionality on your Joomla website
- XCloner or AkeebaBackup - allows you to backup and restore your Joomla website
- Image Gallery Components - various image gallery components exist for Joomla
Joomla plugins are what drives or performs the functionality of core or third-party components. A plugin is essentially a piece of software that is exclusively handling a feature of a specific component.
Once again, there are both core plugins, and plugins that are set up in Joomla as part of the installation of 3rd party components.
Plugins can be found under Extensions > Plugins. Some plugins have no configuration at all, they are simply enabled or disabled. If they are disabled, their function is not performed.
Unnecessary plugins are usually disabled to improve the performance of a website, because if they are not disabled, they might be running and consuming resources.
Other plugins have their own configuration.
Core Joomla plugins include:
- Content - Page Break: allows the user to insert a page break in their content
- Editor - TinyMCE: powers the Joomla content editor
- Search Content: allows the searching within Joomla content
- ...and many more
Modules vs Components
|Complexity||Low||Usually medium to high|
|Position||Various||Main Body only|
The Joomla Extensions site lists an extensive number of free and commercial extensions. There are also reviews and voting mechanisms to help you decide exactly what extensions are best for your needs.
The Joomla modules extensions section of this site, shows a number of extensions which we have found to be very useful, or have created ourselves.
Understanding the core differences between Joomla modules, components and plugins will allow you to better understand how the three types of extensions relate to each other and work together to produce the end result, a configurable website powered by the Joomla framework!
Please leave a useful comment with your thoughts, then share this on your Facebook group(s) who would find this useful and let's reap the benefits together. Thank you for sharing and being nice!