J2.5:Developing a MVC Component/Adding a menu type to the site part
(→Adding a menu item type) |
m (Removed external link.) |
||
| (5 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
| − | + | {{version/tutor|2.5}} | |
| − | + | ||
| − | + | ||
{{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Contents}} | {{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Contents}} | ||
| Line 104: | Line 102: | ||
[[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. 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. | [[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. 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" /> | ||
| − | |||
| − | |||
| − | |||
| − | |||
== Navigate == | == Navigate == | ||
| Line 119: | Line 113: | ||
[[Category:Development]] | [[Category:Development]] | ||
| − | [[ | + | [[Category:Joomla! 1.6]] |
| − | [[ | + | [[Category:Joomla! 1.7]] |
| − | [[ | + | [[Category:Joomla! 2.5]] |
| − | + | ||
Revision as of 18:05, 30 September 2012
Contents |
Introduction
This tutorial is part of the Developing a Model-View-Controller (MVC) Component for Joomla!2.5 tutorial. You are encouraged to read the previous parts of the tutorial before reading this.
In the Joomla framework, components are executed using menu items. If you go in the menu manager of your Joomla 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> <![CDATA[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="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.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 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> <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
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
Prev: Adding a view to the site part Next: Adding a model to the site part
