-
Book Overview & Buying
-
Table Of Contents
Joomla! 4 Masterclass
By :
As mentioned at the beginning of this chapter, Joomla is a flexible CMS that allows you to extend its functionality with the help of additional software that can be installed on top of its core. Extensibility is a common feature for a CMS and has been key to the success of Joomla. In fact, this aspect allowed the growth of an extensions developer ecosystem, which has resulted in thousands of extensions being published over the years.
So, what is an extension? As the name suggests, an extension extends the CMS, providing additional functionality.
Possible examples are that you need to install a specific extension to add e-commerce features to your Joomla installation, or you need to install a photo gallery extension to build galleries easily on your website.
In contrast to the other CMSs, Joomla makes use of several types of extensions. In fact, in Joomla you can have the following extension types:
There are several differences between the types of extensions, and we will explore each one in brief here (you can refer to the Further reading section at the end of this chapter to learn more about these extensions).
Components are mini applications. If you consider Joomla to be your website operating system (OS), you can consider a component as an application that you install on your OS. Components are installed to add features to the website and have two parts—an administration part, accessible via the backend of Joomla, and a site part, accessible through the website frontend.
Several components are provided in the core installation of Joomla, including Contacts, Tags, News Feeds, and Banners, which we will explore in a separate section.
You will need a component to add the following features:
When you install an extension that adds specific functionality, it generally includes a component and other parts such as modules, plugins, and libraries.
Modules are used to display information or render data from components. They are used to build the page layout, showing specific features, such as the login module and the latest articles modules. Modules are assigned to menu items so that you can show a module on specific pages of the website. It is also possible to create custom HTML modules to show information or custom code.
Modules are used extensively in the backend and the frontend of the website.
Plugins are the smallest type of Joomla extensions and provide features associated with trigger events. That means that when an event (for example, a page load) occurs, the function provided by the plugin is triggered.
There are multiple categories of plugins, based on the event type with which they are associated, for example, users, system, content, and authentication.
Also, any extensions can add custom events that trigger the action of specific plugins.
Libraries are additional packages of code that provide a group of functionalities. Also, Joomla includes a series of external libraries to provide some features, for example, PDF export features, jQuery, PHPMailer, and a rapid application development framework.
Packages are a particular type of extension that allows administrators to install multiple extensions at once. For example, if an extension comprises a component, some modules (frontend and backend, for instance), and some plugins, it is common for the developer to provide just a single package. This way, it is easier to install the extension with all the needed pieces at the same time instead of executing multiple installations.
Templates are a type of extension that dictates how a website looks. There are two different types of templates: frontend templates and backend templates.
Frontend templates are used on the publicly accessible side of a website. The default frontend template for Joomla 4 is Cassiopeia.
Backend templates are used to render the administration interface. Atum is the default backend template for Joomla 4, and it is the one visible in the screenshots included in this chapter.
The backend application of Joomla includes several functions to manage extensions, allowing the administrator to conduct the following operations:
All extensions, whether downloaded for free or paid, are provided in the .zip file format and can be installed through the dedicated function in the Joomla backend.
The extensions management features are accessible through the System Dashboard.
From the backend of the application, you can access the Install from Web feature, which allows you to install any of the thousands of extensions published on the Joomla! Extensions Directory. This is a web portal in which third-party developers publish their extensions, either free or paid.
Extensions will add to your website additional features and capabilities, on top of those included by default. In the next section, we will explore the components included in the standard Joomla setup.
Change the font size
Change margin width
Change background colour