J2.5:Developing a MVC Component/Adding a menu type to the site part
m (removing heading, navigation box controlled now) |
m (Hutchy68 moved page J2.5:Developing a Model-View-Controller Component/Adding a menu type to the site part to J2.5:Developing a MVC Component/Adding a menu type to the site part: trying to shorten title) |
||
| (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 102: | 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 117: | Line 113: | ||
[[Category:Development]] | [[Category:Development]] | ||
| − | [[ | + | [[Category:Joomla! 1.6]] |
| − | [[ | + | [[Category:Joomla! 1.7]] |
| − | [[ | + | [[Category:Joomla! 2.5]] |
| − | + | ||
Latest revision as of 14:46, 3 May 2013
Contents |
[edit] 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.
[edit]
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>
[edit] 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
[edit]
Prev: Adding a view to the site part Next: Adding a model to the site part
