J2.5:Developing a MVC Component/Developing a Basic Component

From Joomla! Documentation
Jump to: navigation, search
Template:Future

Articles in this series

Contents


Introduction

This tutorial is part of the Developing a Model-View-Controller (MVC) Component for Joomla!1.6 tutorial.

The first basic component

Let's create a Hello World! component.

Public display

With your favorite file manager and editor, create a file site/components/helloworld.php containing

Hello world

You can test this basic component by putting index.php?option=com_helloworld in your browser address (don't forget to prefix this address with your Joomla!1.6 installation path).

Administrator management

With your favorite file manager and editor, create a file site/administrator/components/helloworld.php containing

Hello world administration

You can test this basic component by putting administrator/index.php?option=com_helloworld in your browser address.

Packaging an installation zip file

If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them.

Delete the components/com_helloworld and administrator/components/com_helloworld directories of your Joomla!1.6 installation.

With your favorite file manager, create a directory (outside your Joomla!1.6 installation directory) containing

Create a compressed file of this directory or directly download the archive and install it using the extension manager of Joomla!1.6. You can test this basic component by putting index.php?option=com_helloworld or administrator/index.php?option=com_helloworld in your browser address. You can also notice that the Hello World! component is visible in the administrator site of your Joomla!1.6 installation under the Components menu.

helloworld.xml

<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="1.6.0" method="install">
        <name>helloworld</name>
        <!-- The following elements are optional and free of formatting constraints -->
        <creationDate>November 2009</creationDate>
        <author>John Doe</author>
        <authorEmail>john.doe@example.org</authorEmail>
        <authorUrl>http://www.example.org</authorUrl>
        <copyright>Copyright Info</copyright>
        <license>License Info</license>
        <!--  The version string is recorded in the components table -->
        <version>0.0.1</version>
        <!-- The description is optional and defaults to the name -->
        <description>Description of the Hello World component ...</description>
 
        <!-- Site Main File Copy Section -->
        <!-- Note the folder attribute: This attribute describes the folder
                to copy FROM in the package to install therefore files copied
                in this section are copied from /site/ in the package -->
        <files folder="site">
                <filename>index.html</filename>
                <filename>helloworld.php</filename>
        </files>
 
        <administration>
                <!-- Administration Menu Section -->
                <menu>Hello World!</menu>
                <!-- Administration Main File Copy Section -->
                <!-- Note the folder attribute: This attribute describes the folder
                        to copy FROM in the package to install therefore files copied
                        in this section are copied from /admin/ in the package -->
                <files folder="admin">
                        <!-- Site Main File Copy Section -->
                        <filename>index.html</filename>
                        <filename>helloworld.php</filename>
                </files>                
        </administration>
</extension>

site/helloworld.php

Hello World

admin/helloworld.php

Hello World administration

index.html

<html><body bgcolor="#FFFFFF"></body></html>

Contributors

Personal tools
Namespaces

Variants
Actions
Navigation
Joomla! Sites
Toolbox