Joomla Extensions Tutorial

What are the different Joomla extension types

Joomla extensions are divided into several different types: components, modules, templates, languages and plugins. The different types are responsible for adding specific functionalities to your site. By default Joomla comes with many different extensions preinstalled. The official Joomla extensions site has a huge amount of all the types of extensions available for downloading (both free and paid). With their help you can customize and extend your site as much as you want.

All extensions can be installed through the Extension Manager of your site's administration panel (backend). To learn how to do this, check the tutorial on installing Joomla extensions. Keep in mind, though, that after installing an extension, you might need to do different things to make it fully functional on your site. So it is recommended that you read the instructions for the particular extension.

You can see all the extensions on your site (regardless of the type) from your admin panel's Extension Manager > click on the Manage tab. There are also separate sections in the Extension Manager for modules, templates, languages and plugins. To open them, go to the Extensions menu in the upper left corner and select the manager you need:

Admin Extensions Menu

Now let's have a look at each extension type.

Components

Components are the biggest and most complex extensions. Unlike the other extensions, they are not managed from a separate section from the admin panel's Extensions menu. Instead they are interconnected with all the other admin panel's menus (Site, Users, Menus, Content, Components). An example of a component is the content component which displays the main information on your site's frontend (e.g. the featured articles in the middle of the screen):

Component Example

On the other hand, the content component is also used in the admin panel (backend) for writing articles (Content>Article Manager). Similarly, the other components have some functions connected both with the frontend and some with the backend.

Other examples of this type of extension include the contact component which is used for contact forms; to open your backend's Contact Manager go to the Components menu and select Contacts. The search component, as the name suggests, adds search functions to your site (to view search statistics go to your backend's Components>Search, they're disabled by default). The users component makes it possible for visitors to register, login/out; on the side of the backend it allows you to manage the users (Users>User Manager). The weblinks component gives you the opportunity to arrange and manage external links (backend: Components>Weblinks).

There are also some components which are specific to the admin panel only; they don't display anything on the frontend. These include the extensions manager component, the media manager, global configurations, menu manager, banners component, and others. The above listed components are just a part of all the components.

Modules

Modules can be described as the blocks that appear around a component. The menus on the side and at the top of your site's frontend, and the login form are examples of modules:

Module Example

To access the Module Manager, log in to your administration panel, go to the Extensions menu at the top and select Module Manager, or just click on the Module Manager button on your backend's home page (control panel).

The different modules can be grouped into subcategories. The menus are navigational modules. The login module is part of the users modules; other modules in this group include the "who's online" module, which shows the visitors (registered and unregistered) viewing your site at the moment, and also the "latest users module". Content modules form another subcategory of modules; they show information from the content component (most read content, latest article module, related items module, etc). The modules may or may not be connected to any of the components.

These are just some of the modules.

Templates

Templates determine the design and appearance of your site. Joomla installations (version 1.7) come with a few template's for your site's frontend: Atomic, Beez5, Beez2 (the default one), Beez2 (park site). And there are also a couple for your administration panel: Bluestork (the default one), Hathor.

You can access the Template Manager by clicking on the corresponding button on your backend's home page, or by going to the Extensions menu and selecting Template Manager. If you want to, you can set different pages on your site to use different templates. Templates make it possible to separate the look from the content of the site. You can download many different templates from the official Joomla site.

Plugins

Plugins are used to execute different tasks or events. Depending on the plugin, they can be associated with a component or module, meaning that when this component or module is called into action the particular plugin executes its task. In this way plugins can be said to expand the functions of other extensions.

For example, the search component depends on plugins to determine the parts of the site that are searched (categories, contacts, content, newsfeeds, weblinks). Plugins can also work independently and perform their functions throughout the site on their own. The editor plugins (TinyMCE, CodeMirror, No Editor) are used throughout the site, for example, for writing articles.

Plugins are grouped into different categories: Editors, Content, Authentication, User, Search, System, etc. You can see and manage all the plugins that come prepackaged (and the ones you download later) with your admin panel's Plug-in Manager (Extensions>Plug-in Manager). Some plugins that come with every Joomla installation package are disabled by default.

Languages

During the Joomla installation, which is only in English, you can choose the language you want to use. However, later you can also download language extension packs. There are ones for the frontend of the site as well as the backend; you can have both in the same language, or each in a different language. The interface, help screens and sample data are translated in the corresponding language.

You can switch the default languages from your admin panel's Language Manager. Either click on the Language Manager button on you backend's home page, or go to the Extensions menu and select Language Manager.