J3.1:Developing a MVC Component/Developing a Basic Component
This is a multiple-article series of tutorials on how to develop a Model-View-Contoller Component for Joomla! Version .
Begin with the Introduction, and navigate the articles in this series by using the navigation box to the right (the Articles in this series).
Developing a Basic Component
This page goes through the basic steps required to make the simplest possible component that will output Hello, world! to the front-end of a Joomla! website.
First set up the basic public output for this component. Create
yoursite/components/com_helloworld/helloworld.php with the following contents:
<?php echo 'Hello world';
Every extension needs a manifest file that specifies installation and configuration information for the extension. The manifest file is named
componentname.xml. For a simple component we need only include a minimal number of the possible elements in this XML file.
helloworld.xml in the same directory as your
helloworld.php above, with the following contents:
<?xml version="1.0" encoding="utf-8"?> <extension type="component" version="3.0" method="upgrade"> <name>Hello World!</name> </extension>
Note that the
name element is actually optional, but it makes for easier identification in the next step.
Next, we need to tell Joomla! to 'discover' this new component, so that it can be installed and used. This is done by going to the Extension Manager -> Discover and clicking 'Discover' in the toolbar. This will scan the
components directory (amongst others), looking for components that have not yet been installed.
The new component should be listed in the resulting table, and to install it you just select it (with the checkbox) and click 'Install' in the toolbar.
Note: Don't worry about the message "Component Install: The XML file did not contain an administration element", as our component does not yet have any administration features. We'll add these later in the tutorial.
You can now see the basic component in action, by navigating to
localhost/joomla with your own installation location).