Jdoc statements

From Joomla! Documentation

Revision as of 12:00, 19 January 2008 by Shantanubala (Talk | contribs)

Quill icon.png
Page Actively Being Edited!

This article is actively undergoing a major edit for a short while.
As a courtesy, please do not edit this page while this message is displayed. The user who added this notice will be listed in the page history. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page. If this page has not been edited for several hours, please remove this template, or replace it with {{underconstruction}} or {{incomplete}}.



The <jdoc:include /> statement is a Joomla! template's method of displaying content specific to the page being viewed. There are various <jdoc:include /> statements, each returning a different part of a Joomla! page.

The type attribute

The %%type%% attribute specifies the type of content to be rendered in place of the <jdoc:include /> element. For example, the <jdoc:include type="head" /> statement uses the type attribute head (type="head")


<jdoc:include type="component" />

This element should only appear once in the <body> element of the Template to render the main content of the page with respect to the current page being viewed.


<jdoc:include type="head" />

This element should only appear once in the <head> element of the Template to render the content of the style, script and meta elements associated with the current page.


<jdoc:include type="installation" />

This element is only used within the Joomla! Installer template and of no particular use in a Front-end or Back-end template. It's somewhat the equivalent to the 'component' type, rendering the main content of an installation step.


<jdoc:include type="message" />

This element should only appear once in the <body> element of the Template to render system and error messages that occurred in the request.


<jdoc:include type="module" name="breadcrumbs" />

<jdoc:include type="module" name="menu" />

<jdoc:include type="module" name="submenu" style="rounded" id="submenu-box" />

This element renders a single module given by the %%name%% attribute. The module in question must be published and accessible by the current user in order to become visible. Additional attributes can be provided to control the layout and appearance of the module, if supported.


Modules are rendered on a page using one of the following code examples. The modules are separated into different areas of a template using template positions set in the templatedetails.xml file. Using the jdoc:include's name="[template position name]" attribute, the various modules in their respective positions can be called, rendered, and styled separately. Additional attributes can be provided to control the layout and appearance of modules, if supported.

Below are some examples of module statements with module positions used frequently by Joomla! theme developers.

<jdoc:include type="modules" name="debug" />

<jdoc:include type="modules" name="icon" />

<jdoc:include type="modules" name="left" style="rounded" />

<jdoc:include type="modules" name="left" style="xhtml" />

<jdoc:include type="modules" name="right" style="xhtml" />

<jdoc:include type="modules" name="status" />

<jdoc:include type="modules" name="syndicate" />

<jdoc:include type="modules" name="title" />

<jdoc:include type="modules" name="toolbar" />

<jdoc:include type="modules" name="top" />

<jdoc:include type="modules" name="top" style="xhtml" />

<jdoc:include type="modules" name="user1" style="xhtml" />

<jdoc:include type="modules" name="user2" style="xhtml" />

<jdoc:include type="modules" name="user3" />

[Note] The name="user3" module position is normally (by default) used for the top menu.

<jdoc:include type="modules" name="user4" />

The style attribute

The optional style="" attribute is available for the module and modules types of <jdoc:include /> statements. The attribute value refers to the "chrome" style used to wrap the output generated by a module. If no style is provided, a value of "none" is used by default. The standard styles which are declared in %%/templates/system/html/modules.php%% include:

 * table
 * horz
 * xhtml
 * rounded
 * outline

Template designers may add additional chrome names by adding a custom version of this file to %%/user-template/html/modules.php%%.