Difference between revisions of "Developing a MVC Component/Developing a Basic Component"
From Joomla! Documentation
< Archived:Developing a MVC Component
m (→Introduction: eliminate heading) |
|||
(27 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{version/tutor|2.5}} |
+ | {{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Contents}} | ||
− | + | This tutorial is part of the [[Developing a Model-View-Controller (MVC) Component for Joomla!2.5]] tutorial. | |
− | |||
− | |||
− | |||
− | This tutorial is part of the [[Developing a Model-View-Controller (MVC) Component for Joomla! | ||
== The first basic component == | == The first basic component == | ||
Line 15: | Line 12: | ||
</source> | </source> | ||
− | 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! | + | 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!2.5 installation path) after installing this component. |
=== Administrator management === | === Administrator management === | ||
Line 28: | Line 25: | ||
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 | ||
* ''[[#helloworld.xml|helloworld.xml]]'' | * ''[[#helloworld.xml|helloworld.xml]]'' | ||
* ''[[#site/helloworld.php|site/helloworld.php]]'' | * ''[[#site/helloworld.php|site/helloworld.php]]'' | ||
* ''[[#index.html|site/index.html]]'' | * ''[[#index.html|site/index.html]]'' | ||
+ | * ''[[#index.html|admin/index.html]]'' | ||
* ''[[#admin/helloworld.php|admin/helloworld.php]]'' | * ''[[#admin/helloworld.php|admin/helloworld.php]]'' | ||
− | * ''[[#index.html|admin/index.html]]'' | + | * ''[[#index.html|admin/sql/index.html]]'' |
+ | * ''[[#index.html|admin/sql/updates/index.html]]'' | ||
+ | * ''[[#index.html|admin/sql/updates/mysql/index.html]]'' | ||
+ | * ''[[#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. | ||
+ | |||
+ | <span id="admin/sql/updates/mysql/0.0.1.sql"> | ||
+ | ''admin/sql/updates/mysql/0.0.1.sql'' | ||
+ | <source lang="sql"> | ||
+ | </source> | ||
+ | </span> | ||
− | Create a compressed file of this directory or directly download the [http://joomlacode.org/gf/download/frsrelease/11394/ | + | 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"> | <span id="helloworld.xml"> | ||
Line 43: | Line 50: | ||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
− | <extension type="component" version=" | + | <extension type="component" version="2.5.0" method="upgrade"> |
<name>Hello World!</name> | <name>Hello World!</name> | ||
− | <!-- The following elements are optional and free of formatting | + | <!-- The following elements are optional and free of formatting constraints --> |
<creationDate>November 2009</creationDate> | <creationDate>November 2009</creationDate> | ||
<author>John Doe</author> | <author>John Doe</author> | ||
Line 57: | Line 64: | ||
<!-- The description is optional and defaults to the name --> | <!-- The description is optional and defaults to the name --> | ||
<description>Description of the Hello World component ...</description> | <description>Description of the Hello World component ...</description> | ||
+ | |||
+ | <update> <!-- Runs on update; New in 2.5 --> | ||
+ | <schemas> | ||
+ | <schemapath type="mysql">sql/updates/mysql</schemapath> | ||
+ | </schemas> | ||
+ | </update> | ||
<!-- Site Main File Copy Section --> | <!-- Site Main File Copy Section --> | ||
Line 78: | Line 91: | ||
<filename>index.html</filename> | <filename>index.html</filename> | ||
<filename>helloworld.php</filename> | <filename>helloworld.php</filename> | ||
+ | <!-- SQL files section --> | ||
+ | <folder>sql</folder> | ||
</files> | </files> | ||
</administration> | </administration> | ||
Line 108: | Line 123: | ||
== Navigate == | == Navigate == | ||
− | [[ | + | [[J2.5:Developing_a_MVC_Component/Adding_a_view_to_the_site_part|Next: Adding a view to the site part]] |
+ | |||
== Contributors == | == Contributors == | ||
*[[User:cdemko|Christophe Demko]] | *[[User:cdemko|Christophe Demko]] | ||
+ | *[[User:oaksu|Ozgur Aksu]] | ||
− | [[Category:Development]] | + | [[Category:Component Development]] |
− | [[ | + | [[Category:Joomla! 1.6]] |
− | [[ | + | [[Category:Joomla! 1.7]] |
− | [[Category: | + | [[Category:Joomla! 2.5]] |
Revision as of 17:49, 31 August 2013
This page has been archived. This page contains information for an unsupported Joomla! version or is no longer relevant. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Articles in this Series
- Introduction
- Developing a Basic Component
- Adding a view to the site part
- Adding a menu type to the site part
- Adding a model to the site part
- Adding a variable request in the menu type
- Using the database
- Basic backend
- Adding language management
- Adding backend actions
- Adding decorations to the backend
- Adding verifications
- Adding categories
- Adding configuration
- Adding ACL
- Adding an install/uninstall/update script file
- Using the language filter facility
- Adding an update server
- Example of a Frontend Update Function
- Example of Menu Parameters & Stylesheets
This tutorial is part of the Developing a Model-View-Controller (MVC) Component for Joomla!2.5 tutorial.
The first basic component[edit]
Let's create a Hello World! component.
Public display[edit]
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!2.5 installation path) after installing this component.
Administrator management[edit]
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.
Packaging an installation zip file[edit]
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
- helloworld.xml
- site/helloworld.php
- site/index.html
- admin/index.html
- admin/helloworld.php
- admin/sql/index.html
- admin/sql/updates/index.html
- admin/sql/updates/mysql/index.html
- 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.
admin/sql/updates/mysql/0.0.1.sql
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.
helloworld.xml
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="2.5.0" method="upgrade">
<name>Hello World!</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>
<update> <!-- Runs on update; New in 2.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>
[edit]
Next: Adding a view to the site part