(→Menu links and submenus)
|Line 81:||Line 81:|
|Line 107:||Line 108:|
This article or section is incomplete, which means it may be lacking information. You are welcome to assist in its completion by editing it as well. If this article or section
Within Joomla there are manifest files for all of the extensions. These files include the general installation information as well as parameters for the configuration of the extension itself. Since Joomla! 1.6 , there are very few differences between the manifest file formats for the different types of extensions, allowing each type to access the full power of the Joomla! installer.
The file must be named manifest.xml or <extension_name>.xml and located in the root directory of the installation package.
The primary tag of the installation file is:
||All extensions||This attribute describes the type of the extension for the installer. Based on this type further requirements to sub-tags apply.|
||All extensions||String that identifies the version of Joomla for which this extension is developed. For Joomla 1.6 a version higher than 1.5 is required.|
||All extensions||The default value install will be also used if the method attribute is not used. In these cases the installer will gracefully stop if he finds any existing file/folder of the new extension|
||Modules||The client allows to specify for which application client the new module is available.|
|group||string||Plugins||The group name specifies for which group of plugins the new plugin is available. The existing groups are the folder names within the directory /plugins. The installer will create new folder names for group names that do not exist yet.|
The following elements can be used to insert metadata. None of these elements are required; if they are present, they must be a child of the root element.
<name>– raw component name (e.g.
<author>– author's name (e.g.
<creationDate>– date of creation or release (e.g.
<copyright>– a copyright statement (e.g.
(C) 2005 - 2011 Open Source Matters. All rights reserved.)
<license>– a license statement (e.g.
NU General Public License version 2 or later; see LICENSE.txt)
<authorEmail>– author's email address (e.g.
<authorUrl>– URL to the author's website (e.g.
<version>– the version number of the extension (e.g.
<description>– the description of the component. This is a translatable field. (e.g.
<files folder="from-folder"> <filename>example.php</filename> <folder>examples</folder> </files>
Files to copy to the front-end directory should be placed in the
<files> element. You can use the optional
folder attribute to specify a directory in the ZIP package to copy from. Each file to copy must be represented by a
<filename> element. If you want to copy an entire folder at once, you can define it as a
Files to copy to the back-end directory should be placed in the
<files> element under the
<administration>. You can use the optional
folder attribute to specify a directory in the ZIP package to copy from. See Front-end files for further rules.
<menu>COM_EXAMPLE</menu> <submenu> <menu link="anoption=avalue">COM_EXAMPLE_SUBMENU_ANOPTION</menu> <menu view="viewname">COM_EXAMPLE_SUBMENU_VIEWNAME</menu> </submenu>
The text for the main menu item for the component is defined in the
<menu> item, a child of
<submenu> element may also be present (also a child of
<administration>), which may contain more menu items defined by
<menu> item can define the following attributes:
|link||A link to send the user to when the menu item is clicked|
|img||The (relative) path to an image (16x16 pixels) to appear beside the menu item|
|string||An URL parameter to add to the link. For example,
The value inside the tag is the menu's label. Unlike Joomla! 1.5, you can not use a natural language string. For example, if you would enter "Example Component" instead of COM_EXAMPLE, it would result in your component name appearing as example-component in the menu and you would be unable to provide a translation. In order to provide a translation you need to create a file named en-GB.com_example.sys.ini in administrator/languages/en-GB (you can use the manifest's