Actions

Difference between revisions of "Extension types (general definitions)"

From Joomla! Documentation

m (Extension Installation: fixing image link)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{RightTOC}}Joomla! already is a rich featured content management system but if you're building a website with Joomla! and you need extra features which aren't available in Joomla! by default, you can easily extend it with extensions. There are five types of extensions for Joomla!: Components, Modules, Plugins, Templates, and Languages. Each of these extensions handle specific functionality.
+
{{RightTOC}}Joomla! already is a rich featured content management system, but if you're building a website with Joomla! and you need extra features which aren't available in Joomla! by default, you can easily extend it with extensions. There are five types of extensions for Joomla!: Components, Modules, Plugins, Templates, and Languages. Each of these extensions handle specific functionality. (Some built-in features of Joomla! are implemented using extensions.)
  
 
[[Image:Extensions.jpg]]
 
[[Image:Extensions.jpg]]
  
== Components ==
+
== [[Component|Components]] ==
  
A component is the largest and most complex extension of them all, they can be seen as mini-applications. There are two parts in a component, an administrator part and a site part. Every time a Joomla page loads, a component is called to render the main page body. For example, com_registration is the component which handles user registration, users can sign up as a member at the frontend of your site and, as an administrator, you can edit these users. Components are the major portion of your page because a component is driven by a menu item and every menu item runs a component.
+
Components are the largest and most complex extensions of them all; they can be seen as mini-applications. Most components have two parts: a site part and an administrator part. Every time a Joomla page loads, ''one'' component is called to render the main page body. For example, Content (com_content) is the component which handles the display of content; users can view at the frontend of your site and, as an administrator, you can edit the content. Components are the major portion of your page because a component is driven by a menu item and every menu item runs a component.
  
For example: com_content, com_registration
+
'''Examples:''' Content (com_content), Banners (com_banners), Contact (com_contact), News Feeds (com_newsfeeds) and Web Links (com_weblinks)
  
''Admin head menu'' > “Components”
+
'''Management feature:''' ''Admin head menu'' > “Components” (“Contact” for com_contact)
  
== Modules ==
+
== [[Module|Modules]] ==
  
Modules are more lightweight and flexible extensions used for page rendering. Sometimes modules are linked to components such as the “latest news” module which links to the com_content and displays links to the newest content items. These modules are mostly known as the “boxes” that are arranged around a component, for example: the login module. The footer is a module. Modules are assigned per menu item. So, you can decide to show or hide the logon module depending on which component (menu item) is used. However, modules do not need to be linked to components, as a matter of fact they don't even need to be linked to anything and can be just static HTML or text.  
+
Modules are more lightweight and flexible extensions used for page rendering. These modules are mostly known as the “boxes” that are arranged around a component, for example: the login module. The footer is a module. Modules are assigned per menu item. So, you can decide to show or hide the logon module depending on which menu item the user is viewing. Sometimes modules are linked to components such as the “latest news” module which links to the com_content and displays links to the newest content items. However, modules do not need to be linked to components, as a matter of fact they don't even need to be linked to anything and can be just static HTML or text.  
  
For example: mod_banners, mod_mainmenu
+
'''Examples:''' Banners (mod_banners), Menus (mod_menu), Who's Online (mod_whosonline)
  
''Admin head menu'' > “Extensions” > “Module Manager”
+
'''Management feature:''' ''Admin head menu'' > “Extensions” > “Module Manager”
  
== Plugins ==
+
== [[Plugin|Plugins]] ==
  
Plugins are more advanced extensions and are in essence event handlers. In the execution of any part of Joomla, be it the core, a module or a component, an event can be triggered. When an event is triggered, plugins that are registered with the application to handle that event execute. Plugins were also known as mambots.
+
Plugins are more advanced extensions and are in essence event handlers. In the execution of any part of Joomla, be it the core, a module or a component, an event can be triggered. When an event is triggered, plugins that are registered with the application to handle that event execute. For example, a plugin could be used to intercept user-submitted articles and filter out bad words.
  
For example: content.searchbot, tinymce
+
'''Examples:''' Content - Load Modules, Editor - TinyMCE
  
''Admin head menu'' > “Extensions” > “Plugin Manager”
+
'''Management feature:''' ''Admin head menu'' > “Extensions” > “Plugin Manager”
  
== Templates ==
+
== [[Template|Templates]] ==
  
A template is basically the design of your Joomla! powered website. With a template you can change the look and feel of your website. Templates have certain fields in which components and modules will be shown. Templates are easy to build or customize and they provide maximum flexibility in how you style your site.
+
A template is basically the design of your Joomla! powered website. With a template you can change the look and feel of your website. Templates have certain fields in which the component (just one) and modules (as many as you like) will be shown. Templates are easy to build or customize and they provide maximum flexibility in how you style your site.
  
''Admin head menu'' > “Extensions” > “Template Manager”
+
'''Management feature:''' ''Admin head menu'' > “Extensions” > “Template Manager”
  
== Languages ==
+
== [[Language|Languages]] ==
  
 
Probably the most basic extensions are languages. Languages can be packaged in two ways, either as a core package or as an extension package. In essence, these files consist key/value pairs, these pairs provide the translation of static text strings which are assigned within the Joomla! source code. These language packs will affect both the front and administrator side. Note: these language packs also include an XML meta file which describes the language and font information to use for PDF content generation.  
 
Probably the most basic extensions are languages. Languages can be packaged in two ways, either as a core package or as an extension package. In essence, these files consist key/value pairs, these pairs provide the translation of static text strings which are assigned within the Joomla! source code. These language packs will affect both the front and administrator side. Note: these language packs also include an XML meta file which describes the language and font information to use for PDF content generation.  
  
''Admin head menu'' > “Extensions” > “Language Manager”
+
'''Management feature:''' ''Admin head menu'' > “Extensions” > “Language Manager”
  
[[Image:ExtensionInstallation.jpg|Administrator Installation]]
+
== Extension Installation ==
  
Return to [[Beginners|Absolute Beginner's Guide to Joomla!]]
+
There are 3 methods of installing an extension. You can upload an extension, install from a directory or install from a URL.
<noinclude>[[Category:JED]]</noinclude>
+
:[[File:30-Installing-template-upload-package-file.png|Administrator Installation]]
 +
 
 +
<noinclude>
 +
[[Category:Extensions| Types (general definitions)]]
 +
[[Category:Definition lists]]
 +
</noinclude>

Latest revision as of 22:25, 19 June 2013

Contents

Joomla! already is a rich featured content management system, but if you're building a website with Joomla! and you need extra features which aren't available in Joomla! by default, you can easily extend it with extensions. There are five types of extensions for Joomla!: Components, Modules, Plugins, Templates, and Languages. Each of these extensions handle specific functionality. (Some built-in features of Joomla! are implemented using extensions.)

Extensions.jpg

Components

Components are the largest and most complex extensions of them all; they can be seen as mini-applications. Most components have two parts: a site part and an administrator part. Every time a Joomla page loads, one component is called to render the main page body. For example, Content (com_content) is the component which handles the display of content; users can view at the frontend of your site and, as an administrator, you can edit the content. Components are the major portion of your page because a component is driven by a menu item and every menu item runs a component.

Examples: Content (com_content), Banners (com_banners), Contact (com_contact), News Feeds (com_newsfeeds) and Web Links (com_weblinks)

Management feature: Admin head menu > “Components” (“Contact” for com_contact)

Modules

Modules are more lightweight and flexible extensions used for page rendering. These modules are mostly known as the “boxes” that are arranged around a component, for example: the login module. The footer is a module. Modules are assigned per menu item. So, you can decide to show or hide the logon module depending on which menu item the user is viewing. Sometimes modules are linked to components such as the “latest news” module which links to the com_content and displays links to the newest content items. However, modules do not need to be linked to components, as a matter of fact they don't even need to be linked to anything and can be just static HTML or text.

Examples: Banners (mod_banners), Menus (mod_menu), Who's Online (mod_whosonline)

Management feature: Admin head menu > “Extensions” > “Module Manager”

Plugins

Plugins are more advanced extensions and are in essence event handlers. In the execution of any part of Joomla, be it the core, a module or a component, an event can be triggered. When an event is triggered, plugins that are registered with the application to handle that event execute. For example, a plugin could be used to intercept user-submitted articles and filter out bad words.

Examples: Content - Load Modules, Editor - TinyMCE

Management feature: Admin head menu > “Extensions” > “Plugin Manager”

Templates

A template is basically the design of your Joomla! powered website. With a template you can change the look and feel of your website. Templates have certain fields in which the component (just one) and modules (as many as you like) will be shown. Templates are easy to build or customize and they provide maximum flexibility in how you style your site.

Management feature: Admin head menu > “Extensions” > “Template Manager”

Languages

Probably the most basic extensions are languages. Languages can be packaged in two ways, either as a core package or as an extension package. In essence, these files consist key/value pairs, these pairs provide the translation of static text strings which are assigned within the Joomla! source code. These language packs will affect both the front and administrator side. Note: these language packs also include an XML meta file which describes the language and font information to use for PDF content generation.

Management feature: Admin head menu > “Extensions” > “Language Manager”

Extension Installation

There are 3 methods of installing an extension. You can upload an extension, install from a directory or install from a URL.

Administrator Installation