|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.
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.