How to control module display when linking to an article with no menu item

From Joomla! Documentation

Revision as of 18:19, 18 September 2008 by Dextercowley (Talk | contribs)

Normally, you control which modules display on a page by assigning modules to a menu item. However, in some cases you may not have a menu item that corresponds to each page of your website.

For example, you may have articles in your site that will not have specific menu items associated with them. Instead, you may be linking to these articles from other articles. In this case, you will not have a way to assign modules to individual articles.

You can still control which modules display on which articles by manually setting the Itemid portion of the link URL. Say, for example, that you will have five different "page types" that will display, depending on the article. Each "page type" will have its own combination of displayed modules. Here is how you can set this up:

  1. Create a menu called "hidden" and add a menu item for each of the five "page types". The menu item type will be an Article Layout.
    • Assign the desired modules to each of these menu items in the normal way.
    • Do not create a "mod_mainmenu" module for the hidden menu. This menu will never be shown on your site, so no menu module is needed.
  2. Note the ID numbers of each of these five menu items. The ID number is shown in the Menu Item Manager screen.
  3. Create the link to the article, using one of the following:
    • Create the link manually by copying a normal Joomla link that is in the format: index.php?option=com_content&view=article&id=xx&Itemid=yy, where xx is the ID of the desired article (from the Article Manager) and yy is the ID of the desired menu item "page type" (from the Menu Item Manager).
    • Use an extension such as the JCE editor or Linkr to create the link from the editor. Link to the desired article and manually add "&Itemid=yy" to the link, again where yy is the ID of the desired menu item "page type".

When these links are displayed, the modules assigned to the Menu Item corresponding to the Itemid=yy will display along with the Article corresponding to the id=xx. Note that you can still use the Joomla SEF URL option. In this case, the URL will be converted to the SEF format, but the correct Itemid will still be used.