Actions

Portal

Difference between revisions of "Component Development"

From Joomla! Documentation

m (replaced modal form field how-to)
m (slight page tweaks)
(25 intermediate revisions by 8 users not shown)
Line 1: Line 1:
__NOTOC__
+
<div style="width:auto; margin:0; padding:0px 8px 8px 8px; border:1px solid #4F91CD; background-color:#DCEBFF;">
== Recommended Reading ==
+
<!-- This portal was created using subst:box portal skeleton  -->
=== General ===
+
{{browsebar|development}}
* [[Joomla Beginning Developer Course]]
+
<div style="clear:both; width:100%">
* [[Setting up your workstation for Joomla! development]]
+
{{/box-header-sq|<big>Introduction to {{PAGENAME}}</big>|{{FULLPAGENAME}}/Intro|}}
* [[Secure coding guidelines]]
+
{{:{{FULLPAGENAME}}/Intro}}
=== Specific ===
+
{{/box-footer|}}
<onlyinclude>
+
</div>
====Developing a Model-View-Controller (MVC) Component {{JVer|1.5}}====
+
* [[Developing a Model-View-Controller Component - Part 1]]
+
* [[Developing a Model-View-Controller Component - Part 2 - Adding a Model]]
+
* [[Developing a Model-View-Controller Component - Part 3 - Using the Database]]
+
* [[Developing a Model-View-Controller Component - Part 4 - Creating an Administrator Interface]]
+
* [[Developing a Model-View-Controller Component - Part 5 - Basic Backend Framework]]
+
* [[Developing a Model-View-Controller Component - Part 6 - Adding Backend Actions]]
+
  
====Developing a Model-View-Controller (MVC) Component {{JVer|1.6}}====
+
<div class="portal-column-left">
* [[Developing a Model-View-Controller (MVC) Component for Joomla!1.6|Introduction]]
+
{{/box-header-sq|Recommended Reading|{{FULLPAGENAME}}/Reading list|}}<onlyinclude>{{:Component Development/Reading list}}</onlyinclude>
{{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!1.6 - Contents}}
+
{{/box-footer|}}
 +
</div>
  
====Other component topics====
+
<div class="portal-column-right"> <!-- Switch to one column on narrow screens -->
* [[File Structure and Naming Conventions]]
+
{{/box-header-sq|General Information|{{FULLPAGENAME}}/Information|}}
* [[Component Program Flow]]. UML sequence diagrams showing the control flow for a component. {{JVer|1.5}}
+
{{:{{FULLPAGENAME}}/Information}}
* [[Component parameters]]
+
{{/box-footer|}}
* [[Components:xml installfile]].  An example component XML installation file. {{JVer|1.5}}
+
</div>
* [[Manifest files]] for the installation of extensions {{JVer|1.6}}
+
* [[Supporting SEF URLs in your component]]
+
* [[Supporting plugins in your component]]
+
* [[Using JPagination in your component]]
+
* [[Adding sortable columns to a table in a component]]
+
* [[How to use the JPane classes in a component]]
+
* [[How to use the editor in a component]]
+
* [[Adding AJAX to your component]]
+
* [[Ajax using MooTools]]
+
* [[How to add breadcrumbs]]
+
* [[How to send email from components]]
+
* [[How to use the JToolBar class in the frontend]]
+
* [[Creating a toolbar for your component]]
+
* [[Creating a file uploader in your component]]
+
* [[Adding Javascript moo.fx to your component]]
+
* [[Adding view layout configuration parameters]]
+
* [[Using a custom image in the menu bar title]]
+
* [[How to implement XML-RPC in a component]]
+
* [[Using multiple models in an MVC component]]
+
* [[How to create a modal form field in 1.6/1.7]] {{JVer|1.6}} {{JVer|1.7}}
+
* [[JController and its subclass usage overview]] {{JVer|1.6}} {{JVer|1.7}}
+
* [[Managing Component Updates with Joomla!1.6 - Part 1]] {{JVer|1.6}}
+
* [[Xml-rpc changes in Joomla! 1.6]] {{JVer|1.6}}
+
</onlyinclude>
+
  
== Tutorials ==
+
<div class="portal-column-right"> <!-- Switch to one column on narrow screens -->
<small>List of all articles belonging to the categories "Tutorials" AND "Component Development"</small>
+
{{/box-header-sq|FAQs|{{FULLPAGENAME}}/FAQs|}}
<DPL>
+
{{:{{FULLPAGENAME}}/FAQs}}
noresultsheader=\n 
+
{{/box-footer|}}
format  = ,\n* [[%PAGE%|%TITLE%]],,
+
</div>
category=Tutorials
+
category=Component Development
+
</DPL>
+
  
==FAQ==
+
<div style="clear:both; width:100%">
<small>List of all articles belonging to the categories "FAQ" AND "Component Development"</small>
+
 
<DPL>
+
{{/box-header-sq|Component Development Tutorials|{{FULLPAGENAME}}/Tutorials|}}
noresultsheader=\n 
+
{{:{{FULLPAGENAME}}/Tutorials}}
format  = ,\n* [[%PAGE%|%TITLE%]],,
+
{{/box-footer|}}
category=FAQ
+
</div>
category=Component Development
+
 
</DPL>
+
</div>
 +
__NOTOC__ __NOEDITSECTION__
 +
<noinclude>[[Category:Development]][[Category:Components]]</noinclude>

Revision as of 18:26, 27 May 2013

DEV Home · Component Development · Plugin Development · Module Development · Template Development · Development for Beginners

Introduction to Component Development

This page contains many links to selected documentation concerning Component Development for Joomla 2.5 and Joomla 3.1. A good place to start is with the Intro to Component Development articles below as they provide a good introductory base of knowledge to build on.

Tip-icon.png
What is a Joomla! Component

A component is a kind of Joomla! extension. Components are the main functional units of Joomla!; they can be seen as mini-applications. An easy analogy would be that Joomla! is the operating system and the components are desktop applications. They are usually displayed in the center of the main content area of a template (depending on the template). Most components have two main parts: an administrator part and a site part. The site part is what is used to render pages when being called during normal site operation. The administrator part provides an interface to configure and manage different aspects of the component and is accessible through the Joomla! administrator application. Joomla! comes with a number of core components, like the content management system, contact forms and Web Links. See also: Module, Plugin, Template

Recommended Reading

There are many articles, tutorials, references and FAQs which focus on component development. If this is your first time developing a component for Joomla, you should start with the Absolute Basics of How a Component Functions. If needed, you can visualise the control flow of a component with these diagrams.

Next, you will want to read our  Joomla 2.5 Joomla 3.x MVC tutorial    Developing a Model-View-Controller Component. Remember to familiarise yourself with Joomla! Secure coding guidelines and Development Best Practices.

Once you have read the tutorial and/or tried the example component, you can focus more on the specifics of your component with additional articles. These are listed on the Component Development Portal or any of the supporting Portals for Development(Plugins, Modules or Templates).


Component Development Tutorials

Component Developer Tutorials

List of all Joomla 2.5 articles belonging to the categories "Tutorials" AND "Component Development"

List of all Joomla 3.x articles belonging to the categories "Tutorials" AND "Component Development"