Actions

J3.x

Difference between revisions of "Developing a MVC Component/Developing a Basic Component"

From Joomla! Documentation

< J3.x:Developing a MVC Component
m (Navigate: fixing link)
m (Pack an installation zip file)
 
(4 intermediate revisions by 3 users not shown)
Line 19: Line 19:
 
You can test this basic component by putting ''administrator/index.php?option=com_helloworld'' in your browser address after installing the component.
 
You can test this basic component by putting ''administrator/index.php?option=com_helloworld'' in your browser address after installing the component.
  
=== Packaging an installation zip file ===
+
=== Pack 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.
+
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.
  
With your favorite file manager, create a directory (outside your Joomla installation directory) containing
+
With your favorite file manager, create a directory (outside your Joomla! installation directory) containing
 
* ''[[#helloworld.xml|helloworld.xml]]''
 
* ''[[#helloworld.xml|helloworld.xml]]''
 
* ''[[#site/helloworld.php|site/helloworld.php]]''
 
* ''[[#site/helloworld.php|site/helloworld.php]]''
Line 33: Line 33:
 
* ''[[#admin/sql/updates/mysql/0.0.1.sql|admin/sql/updates/mysql/0.0.1.sql]]''
 
* ''[[#admin/sql/updates/mysql/0.0.1.sql|admin/sql/updates/mysql/0.0.1.sql]]''
  
''admin/sql/updates/mysql/0.0.1.sql'' is an empty file allowing to initialise schema version of the com_helloworld component.
+
Create a compressed file of this directory or directly download the [http://joomlacode.org/gf/download/frsrelease/11394/58225/com_helloworld-1.6-part01.zip archive] and install it using the extension manager of Joomla. 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 installation under the ''Components'' menu.
  
<span id="admin/sql/updates/mysql/0.0.1.sql">
+
==File Details==
''admin/sql/updates/mysql/0.0.1.sql''
+
{{vanchor|admin/sql/updates/mysql/0.0.1.sql}}
 +
is an empty file allowing to initialise schema version of the com_helloworld component.
 
<source lang="sql">
 
<source lang="sql">
 
</source>
 
</source>
</span>
 
 
Create a compressed file of this directory or directly download the [http://joomlacode.org/gf/download/frsrelease/11394/58225/com_helloworld-1.6-part01.zip archive] and install it using the extension manager of Joomla. 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 installation under the ''Components'' menu.
 
  
<span id="helloworld.xml">
+
{{vanchor|helloworld.xml}}
''helloworld.xml''
+
 
<source lang="xml">
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
Line 64: Line 61:
 
<update> <!-- Runs on update; New since J2.5 -->
 
<update> <!-- Runs on update; New since J2.5 -->
 
<schemas>
 
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
+
<schemapath type="mysql">sql/updates/mysql/</schemapath>
 
</schemas>
 
</schemas>
 
</update>
 
</update>
Line 95: Line 92:
 
</extension>
 
</extension>
 
</source>
 
</source>
</span>
 
  
<span id="site/helloworld.php">
+
{{vanchor|site/helloworld.php}}
''site/helloworld.php''
+
 
<source lang="php">
 
<source lang="php">
 
Hello World
 
Hello World
 
</source>
 
</source>
</span>
 
  
<span id="admin/helloworld.php">
+
{{vanchor|admin/helloworld.php}}
''admin/helloworld.php''
+
 
<source lang="php">
 
<source lang="php">
 
Hello World administration
 
Hello World administration
 
</source>
 
</source>
</span>
 
  
<span id="index.html">
+
{{vanchor|index.html}}
''index.html'' common to all folders
+
common to all folders
 
<source lang="html4strict">
 
<source lang="html4strict">
 
<html><body bgcolor="#FFFFFF"></body></html>
 
<html><body bgcolor="#FFFFFF"></body></html>
 
</source>
 
</source>
</span>
 
  
== Navigate ==
+
{{notice|Please create a pull request or issue at https://github.com/joomla/Joomla-3.2-Hello-World-Component for any code descprepancies or if editing any of the source code on this page.}}
  
[[J3.2:Developing_a_MVC_Component/Adding_a_view_to_the_site_part|Next: Adding a view to the site part]]
+
{{:J3.2:Developing a MVC Component/Navigate
 +
|prev=Introduction
 +
|next=Adding a view to the site part}}
  
 
<noinclude>[[Category:Component Development]] [[Category:Joomla! 3.0]] [[Category:Joomla! 3.1]][[Category:Joomla! 3.2]]</noinclude>
 
<noinclude>[[Category:Component Development]] [[Category:Joomla! 3.0]] [[Category:Joomla! 3.1]][[Category:Joomla! 3.2]]</noinclude>

Latest revision as of 07:01, 4 July 2014


This is a multiple-article series of tutorials on how to develop a Model-View-Controller Component for Joomla! Version Joomla 3.x.

Begin with the Introduction, and navigate the articles in this series by using the navigation box to the right (the Articles in this series).

The first basic component

Let's create a Hello World! component.

Public display

With your favorite file manager and editor, create a file yoursite/components/com_helloworld/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! 3.x installation path) after installing this component.

Administrator management

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

Hello world administration

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

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

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

Create a compressed file of this directory or directly download the archive and install it using the extension manager of Joomla. 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 installation under the Components menu.

File Details

admin/sql/updates/mysql/0.0.1.sql is an empty file allowing to initialise schema version of the com_helloworld component.

 

helloworld.xml

<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.2" method="upgrade">
 
        <name>Hello World!</name>
        <!-- The following elements are optional and free of formatting constraints -->
        <creationDate>December 2013</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>
 
        <update> <!-- Runs on update; New since J2.5 -->
                <schemas>
                        <schemapath type="mysql">sql/updates/mysql/</schemapath>
                </schemas>
        </update>
 
        <!-- 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">
                        <!-- Admin Main File Copy Section -->
                        <filename>index.html</filename>
                        <filename>helloworld.php</filename>
                        <!-- SQL files section -->
                        <folder>sql</folder>
                </files>
        </administration>
 
</extension>

site/helloworld.php

Hello World

admin/helloworld.php

Hello World administration

index.html common to all folders

<html><body bgcolor="#FFFFFF"></body></html>
Info non-talk.png
General Information

Please create a pull request or issue at https://github.com/joomla/Joomla-3.2-Hello-World-Component for any code descprepancies or if editing any of the source code on this page.


Tutorial Navigation