Actions

J2.5

Difference between revisions of "Developing a MVC Component/Adding a menu type to the site part"

From Joomla! Documentation

< J2.5:Developing a MVC Component
(1.6 is not supported anymore)
Line 1: Line 1:
This tutorial is for {{JVer|1.6}}
+
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.6 - Contents}}
+
{{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.6]] tutorial. You are encouraged to read the previous parts of the tutorial before reading this.
+
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.6 framework, components are executed using menu items. If you go in the menu manager of your Joomla!1.6 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:
+
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.6.0" method="upgrade">
+
<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.6 -->
+
<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.6. 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!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.6 - Part 02|Prev: Adding a view to the site part]]
+
[[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.6 - Part 04|Next: Adding a model to the site part]]
+
[[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 tutorial is for Joomla 1.7

Articles in this series


Introduction

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

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

Content of your code directory

Selecting the Menu Item Type
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

Download the zip file for this Part: [1]

Navigate

Prev: Adding a view to the site part Next: Adding a model to the site part

Contributors