Wednesday, March 8, 2017

How Does Joomla Component Work

If you are looking for a feature-rich Content Management System (CMS), then Joomla may be the answer. It features more than 8,500 extensions that keep on growing because of the support community.

You may not need to use all of these, but, with every project being unique, having the tools available helps in completing what you want.

The Component

What is a component? In the context of Joomla, a component is a type of extension that are considered as its main functional unit. Developers often consider components as mini-applications similar to the programs that you install in your operating system.

The content created by components are normally displayed at the center of the content area of the template, depending on the type of template you are using.

But how does Joomla component work? In general, components are made up of two parts; the administrator and the site parts. The administrator delivers the interface that allows the user to manage and configure the parts of the component via the Joomla administrator application.

The site part on the other hand is used to render the pages of the website once a request is made by a site visitor.

Joomla is made up of numerous core components like contact forms, web links, and content management for example. In the context of its framework, the components may be designed with the flat model or the Model-View-Controller (MVC) pattern.

The MVC pattern

To simplify things, the MVC is a type of software design pattern that is used mostly to come up with an organized code where the business logic and the data presentation remain separate. Why is this type of design used?

The premise is that by using this type of approach, the business logic is grouped under one section with an interface and user interaction surrounding the data. The data can be customized and revised without affecting or reprogramming the business logic.

The use of the MVC was initially developed to help map traditional input, processing, and output roles under a logical Graphical User Interface (GUI) architecture.

The model portion of the MVC framework component holds the data application. It provides the routines necessary to manipulate and manage the data in a way that is meaningful aside from those that help to get the data from the model. Generally, the technique used to access data must be contained in the model.

This is to ensure that if an application is moved from the system that uses a flat file for storage of information to one that relies on a database, the model will be the only element that will be affected by the change and will not involve the view or the controller.

The rendering of the data from the model is handled by the view part of the component. This is done in a way where there is suitable interaction. The view used for web-based applications would typically be an HTML page reflected to the user.

As the view shows the data it retrieved from the model and passed through the controller, the data is fed into the template that is populated before presented to the user. There is no modification, the only process done is displaying the data.

The controller part responds to the actions of the user. For a web-based application, the action of the user is commonly in the form of a page request.

This part of the MVC determines whether a request has been made or not and responds appropriately by activating the necessary model to manipulate the data before it is passed on to the view part of the component.

The controller only triggers the methods that are responsible for modifying the data before it is passed on to the view for display.

This is how a Joomla component works. If you have any question or problem with Joomla, you can visit for more information.