How to extend Joomla? Components, Modules, or Plug-in?
Written by Li   

There are three types of extensions that Joomla supports: Component, Module, and Plug-in, each with a specific use.


Of the three extensions , components are the most essential. Components are essentially what you see in the "main" portion of the page. Joomla is designed to load and run exactly one component for each page. Consequently, Joomla's core content management functionality is itself a component. Components frequently have sophisticated back-end controls. The back end is commonly used to create and update records in database tables; also it can do typically anything, provided it is programmed in PHP. For instance, you may have a batch job that typically runs from a UNIX command line, but you can use the back end to provide a link where non-programmers can call it. You can also use it to allow site administrators to upload pictures or videos. The official components include com_content,com_contact,com_search,and com_weblinks etc.


In contrast to components, any number of modules can appear on a page. Modules typically make up the elements of a sidebar or content menus. Modules complement the content contained in a component; they are not intended to be the main substance of a page. Joomla also supports content modules, which involve no programming and can be displayed alongside the components. The back-end controls for modules are limited, typically consisting of basic formatting. The official modules include mod_login,mod_latestnews,mod_related_items,mod_mostread, and mod_mainmenu etc.


When a piece of code is needed throughout the site, it is best implemented as a plug-in (formerly called a Mambot). Plug-ins are commonly used to format the output of a component or module when a page is built. Some examples of plug-ins include keyword highlighting, article comment boxes, and JavaScript-based HTML editors. Plug-ins can also be used to extend the results found in the core search component. The back-end controls are similar to those of modules. Plug-Ins mainly includes authentication, content, editors, editors-xtd, search, system, user,xmlrpc types. For content type, the officail modules include pagenavigation, geshi,vote, and pagebreak etc.


Joomla can be extended through components, modules, and plug-ins. This allows you to add functionalities to a Joomla site without hacking the core code. Joomla can then be maintained and updated without disturbing the custom code.

Tags: Joomla  extension  Component  modules  plug-ins  
Recommend Read