Difference between revisions of "Developing a MVC Component/Adding a menu type to the site part"
From Joomla! Documentation
< Archived:Developing a MVC Component
m (moved Developing a Model-View-Controller (MVC) Component for Joomla!1.6 - Part 03 to Developing a Model-View-Controller (MVC) Component for Joomla!1.7 - Part 03: 1.6 is not supported anymore) |
(1.6 is not supported anymore) |
||
Line 1: | Line 1: | ||
− | This tutorial is for {{JVer|1. | + | This tutorial is for {{JVer|1.7}} |
== Articles in this series == | == Articles in this series == | ||
− | {{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!1. | + | {{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!1.7 - Contents}} |
== Introduction == | == Introduction == | ||
− | This tutorial is part of the [[Developing a Model-View-Controller (MVC) Component for Joomla!1. | + | This tutorial is part of the [[Developing a Model-View-Controller (MVC) Component for Joomla!1.7]] tutorial. You are encouraged to read the previous parts of the tutorial before reading this. |
== Adding a menu item type == | == Adding a menu item type == | ||
− | In the Joomla!1. | + | In the Joomla!1.7 framework, components are executed using menu items. If you go in the menu manager of your Joomla!1.7 installation a ''HelloWorld'' menu item type does not yet exist. Adding this functionality is easy in Joomla. Simply put a ''site/views/helloworld/tmpl/default.xml'' file containing: |
<span id="site/views/helloworld/tmpl/default.xml"> | <span id="site/views/helloworld/tmpl/default.xml"> | ||
Line 28: | Line 28: | ||
''helloworld.xml'' | ''helloworld.xml'' | ||
<source lang="xml"> | <source lang="xml"> | ||
− | <extension type="component" version="1. | + | <extension type="component" version="1.7.0" method="upgrade"> |
<name>Hello World!</name> | <name>Hello World!</name> | ||
Line 43: | Line 43: | ||
<description>Description of the Hello World component ...</description> | <description>Description of the Hello World component ...</description> | ||
− | <update> <!-- Runs on update; New in 1. | + | <update> <!-- Runs on update; New in 1.7 --> |
<schemas> | <schemas> | ||
<schemapath type="mysql">sql/updates/mysql</schemapath> | <schemapath type="mysql">sql/updates/mysql</schemapath> | ||
Line 100: | Line 100: | ||
* ''[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!1.6_-_Part_01#admin/sql/updates/mysql/0.0.1.sql|admin/sql/updates/mysql/0.0.1.sql]]'' | * ''[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!1.6_-_Part_01#admin/sql/updates/mysql/0.0.1.sql|admin/sql/updates/mysql/0.0.1.sql]]'' | ||
− | [[File:Com_helloworld-0.0.3.png|thumb|right|Selecting the Menu Item Type]] Create a compressed file of this directory or directly download the [http://joomlacode.org/gf/download/frsrelease/11394/58227/com_helloworld-1.6-part03.zip archive] and install it using the extension manager of Joomla!1. | + | [[File:Com_helloworld-0.0.3.png|thumb|right|Selecting the Menu Item Type]] Create a compressed file of this directory or directly download the [http://joomlacode.org/gf/download/frsrelease/11394/58227/com_helloworld-1.6-part03.zip archive] and install it using the extension manager of Joomla!1.7. You can add a menu item of this component using the menu manager in the backend. To do so select "Add New Menu Item" from the one of the menus in the "Menus" menu; then you can select COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE for Menu Item Type. Once selected you can see the Link information is populated with the URL for the view. |
<br style="clear: both" /> | <br style="clear: both" /> | ||
Line 109: | Line 109: | ||
== Navigate == | == Navigate == | ||
− | [[Developing a Model-View-Controller (MVC) Component for Joomla!1. | + | [[Developing a Model-View-Controller (MVC) Component for Joomla!1.7 - Part 02|Prev: Adding a view to the site part]] |
− | [[Developing a Model-View-Controller (MVC) Component for Joomla!1. | + | [[Developing a Model-View-Controller (MVC) Component for Joomla!1.7 - Part 04|Next: Adding a model to the site part]] |
== Contributors == | == Contributors == | ||
Line 118: | Line 118: | ||
[[Category:Development]] | [[Category:Development]] | ||
[[category:Joomla! 1.6]] | [[category:Joomla! 1.6]] | ||
+ | [[category:Joomla! 1.7]] | ||
[[category:Manual]] | [[category:Manual]] |
Revision as of 11:32, 17 December 2011
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[edit]
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
Introduction[edit]
This tutorial is part of the Developing a Model-View-Controller (MVC) Component for Joomla!1.7 tutorial. You are encouraged to read the previous parts of the tutorial before reading this.
[edit]
In the Joomla!1.7 framework, components are executed using menu items. If you go in the menu manager of your Joomla!1.7 installation a HelloWorld menu item type does not yet exist. Adding this functionality is easy in Joomla. Simply put a site/views/helloworld/tmpl/default.xml file containing:
site/views/helloworld/tmpl/default.xml
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE">
<message>COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC</message>
</layout>
</metadata>
For the moment the strings won't be translated in the administrator interface. We will see in a later article how translation is performed.
Also modify your helloworld.xml file to indicate a new version:
helloworld.xml
<extension type="component" version="1.7.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.3</version>
<!-- The description is optional and defaults to the name -->
<description>Description of the Hello World component ...</description>
<update> <!-- Runs on update; New in 1.7 -->
<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>
<filename>controller.php</filename>
<folder>views</folder>
</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>
Packaging the component[edit]
Content of your code directory
- helloworld.xml
- site/index.html
- site/helloworld.php
- site/controller.php
- site/views/index.html
- site/views/helloworld/index.html
- site/views/helloworld/view.html.php
- site/views/helloworld/tmpl/index.html
- site/views/helloworld/tmpl/default.xml
- site/views/helloworld/tmpl/default.php
- 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
Create a compressed file of this directory or directly download the archive and install it using the extension manager of Joomla!1.7. You can add a menu item of this component using the menu manager in the backend. To do so select "Add New Menu Item" from the one of the menus in the "Menus" menu; then you can select COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE for Menu Item Type. Once selected you can see the Link information is populated with the URL for the view.
Zips[edit]
Download the zip file for this Part: [1]
[edit]
Prev: Adding a view to the site part Next: Adding a model to the site part