30

What is the difference between Joomla components, modules, extensions and plugins?

nbro
  • 15,395
  • 32
  • 113
  • 196
Bryan
  • 17,201
  • 24
  • 97
  • 123

4 Answers4

49

Plugins

Plugins enable you to execute code in response to certain events, either Joomla core events or custom events that are triggered from your own code. This is a powerful way of extending the basic Joomla functionality.

Components

Components are the main functional units that display in your template, like the content management system, contact forms, Web Links and the like. They are usually displayed in the center of the main content area of a template (depending on the template).

Modules

A more lightweight and flexible extension used for page rendering is a module. Modules are used for small bits of the page that are generally less complex and able to be seen across different components. Sometimes modules are linked to a component such as the core latest news module.

Extensions

Components, languages, modules, plugins and templates collectively known as Extensions.

Quickstart tutorial for free.

Andrejs Cainikovs
  • 27,428
  • 2
  • 75
  • 95
21

Components

A component is a separate application. You can think of a component as something that has its own functionality, its own database and its own presentation.

So, if you install a component, you add an application to your website. Examples of components are

  • a forum
  • a newsletter
  • a community system
  • a photo gallery

You could think of all of these as being a separate application. Each of these would make perfectly sense as a stand-alone system.

A component will be shown in the main part of your website and only one component will be shown. A menu is then nothing more than a switch between different components. You can compare it a bit with your windows taskbar, where you see a tab for each open application.

Modules

Modules are extensions which present certain pieces of information on your site. It's a way of presenting information that is already present. This can add a new function to an application, which was already part of your website.

Think about

  • latest article modules
  • login module
  • a menu

Typically, you'll have a number of modules on each web page.

The difference between a component and a module is not always very clear. A module doesn't make sense as a standalone application, it will just present information or add a function to an existing application.

Take a newsletter for instance. A newsletter is a component. You can have a website which is used as a newsletter only. That makes perfectly sense. Although a newsletter component probably will have a subscription page integrated, you might want to add a subscription module on a sidebar on every page of your website. You can put this subscribe module anywhere on your site. You'll probably agree with me that a site with just a subscription module and no actual newsletter component would be rather ridiculous.

Plugins

They used to be called mambots in Joomla 1.0.x, but since Joomla 1.5.x they're called plugins. A plugin is a function which is performed on a part of Joomla before this part is shown. This part can be on content, on the editor, on the complete system, etc. This might seem a bit abstract, but you'll understand it with an example.

Let's take one of the plugins of Ulti Joomla as an example: Ulti Reflection. This is a plugin which can make a reflection of the images you use in your content articles. To use this you just have to put something like inside your content. Before the content is shown to the user, the Ulti Reflection plugin will scan the content to find the {reflection} tag. If it finds the tag, it will replace the tag with the image and its reflection.

Be carefull not to put to many plugins one your website, because some of them can really slow down your site.


If the difference between the three types of extensions is still not completely clear, then I advice you to go to admin pages of your joomla installation and check the components menu, the module manager and the plugin manager. Joomla comes with a number of core components, modules and plugins. By checking what they're doing, the difference between the three types of building blocks should become clear. You can also check out the official Joomla extensions page. Browse through the extension categories and you'll be amazed about the extension possiblities you have for your site.

nbro
  • 15,395
  • 32
  • 113
  • 196
Samar
  • 209
  • 3
  • 9
  • This is very clear indeed! I just not quite understand this one: `To use this you just have to put something like inside your content. `, may be missed something after `like`? – Walty Yeung Jul 14 '17 at 10:34
8

Modules and components are displayed on a page.

Plugins operate behind the scenes and can do a multitude of things, like replacing content with other content, perform searches, perform login/logout functions, or anything really tricky that you can imagine.

There can only ever be one component on a page. When you choose menu items, you are actually choosing the component that you wish a page to display. The variables for the component are stored once (in the database), so you can't have multiple instances of the component!

On the other hand, modules are added multiple times. You can have many modules on the one page. In fact, you could have 100 instances of the same module on the one page. The variables for a module are stored against each instance. (in the database).

This is why joomla templates have one place holder for a component, and many place holders for modules.

A module can be added to an individual page (menu item) , or seleceted pages, or all pages.

Remember that a menu item is indeed a component choice. Each menu item does store variables in the database, so it is possible to feed the component display details. E.g. what page id the content component is to display.

In the back end, components can have many backend settings and functions, and "do" many more things than a module.

  • Examples of a component are:

    • com_content (displays articles...)
    • a bulletin board
    • a forum
    • a sitemap
  • Examples of a module:

    • a countdown clock
    • top 10 most read content
    • a poll
nbro
  • 15,395
  • 32
  • 113
  • 196
Bingy
  • 643
  • 4
  • 9
0

Unless you understand the difference between a module and a component, you will find it very difficult to administer your Joomla installation.

Modules Modules are usually small pieces of functionality designed to present information in your site. They can appear a number of times, on a number of pages in various positions. On the contrary components are a full blown application, usually quite complex and are to the main body if a page. 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. A good example of the usage of this functionality is targeted advertising. If your site has various sections, you can create module for each section. Each module will contain a targeted advert for the section. 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. Typical examples of standard Joomla modules are : Main / User / Top and other menus, Latest News, Popular Articles, Polls, Login Form, Syndication Details etc.

Components 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 can only be displayed in a single page (usually). Links to components are usually done by creating menu items. Components usually have a particular page or pages for their configuration.

Extensions Joomla extensions extend the functionality of Joomla websites. Five types of extensions may be distinguished: components, modules, plugins, templates, and languages. Each of these extensions handles a specific function.

Comdev is a Joomla development services provider, which provides varirties of extensions like: JomOffers, JomDirectory, JomHoliday 3, JomEstate, JomEvents.

Source: http://comdevjoomla.blogspot.com/