ElastiMenu

ElastiMenu is a free Menu Module based on the standard Joomla “Mainmenu” module, with several key enhancements:

  1. It can combine more than one source menu. This makes it easy to mix-and-match menu items into one visible menu. e.g. you can have a main menu that doesn’t include login or logout items, then combine it with a menu that has one or the other, then display these at different times, all as a single module.
  2. You can selectively exclude menu items from the menu. So if you want to exclude a certain menu item for certain pages, you can set up an ElastiMenu that uses the same source menu, but just excludes a certain item.
  3. You can selectively include particular menu items, thus automatically excluding any items not mentioned in the list.
  4. It’s compatible with MetaMod, so you can use MetaMod to programatically include/exclude certain menu items based on date/time/GeoIP/content/page etc.

Instructions

  1. Download (see bottom of this page). There are separate packages for Joomla 1.5, 1.7, 2.5 and 3.0.
  2. Install as normal
  3. The setup is almost identical to a normal “mainmenu” module, except:
    1. You can select up to 8 “Source Menus” in v2.0 and up (the standard menu module restricts you to just 1)
    2. You can exclude certain menu items
    3. You can exclude all menu items except for those listed
    4. From v2.0, you can choose menu items that you want to only be displayed for guests, or only displayed for logged-in users.

Special note for v1.0 only (Joomal 1.5): To obtain menu item ids, you can find them in the Menu Manager, in the right column for each menu item. These ids are also the same as the “Itemid” parameters often seen in the URLs of Joomla web sites. ElastiMenu v2.0 and up have select boxes for choosing these menu items.

Using ElastiMenu with MetaMod

One feature of MetaMod is that you can dynamically alter the parameters of any module that MetaMod includes [or, with MetaMod Pro, the parameters of any module on the page].

The new parameters that ElastiMenu adds to a standard menu module are:

menutype1 the short name of the 1st menu to include (default “mainmenu”)
menutype2 the short name of the 2nd menu to include
menutype3 the short name of the 3rd menu to include
... and so on up to menutype8, for v2.0 and up.
exclusions a set (**) of menu item ids (Itemids) to exclude from display
inclusions a set (**) of menu item ids (Itemids). If you specify any menu items here, then all other menu items will be excluded, and only these ones will be shown.
guestsonly a set (**) of menu items (Itemids). If you specify any menu items here, then these menu items will only be shown for guests, not for logged-in users. Any other menu items will not be affected.

loggedinonly

a set (**) of menu items (Itemids). If you specify any menu items here, then these menu items will only be shown for logged-in users, not for guests. Any other menu items will not be affected.

** NOTE: in Joomla 1.5, the list of Itemids should be a comma-separated list (as a string). In v2.0 and up (Joomla 1.7 and up), the Itemids should be in an array.

E.g. you might use the following rule in MetaMod to exclude a couple of menu items for logged-in users:

// JOOMLA 1.5 EXAMPLE
// for logged-in users, exclude menu items 55 and 56 from ElastiMenu #23 if (MM_LOGGED_IN) {   $changes->mod(23)->setParam("exclusions", "55,56"); } return 23;
// JOOMLA 2.5 EXAMPLE
if (MM_LOGGED_IN) {
  $changes->mod(23)->setParam("exclusions", array("55","56"));
}
return 23;

Alternatively, for logged-in users, include the “logout” menu at the end of the main menu:

// for logged-in users, add extra menu to ElastiMenu #23
if (MM_LOGGED_IN) {
  $changes->mod(23)->setParam("menutype2", "mylogoutmenu");
} 
return 23;

Download

# Documents Downloads Size MB Created Modified
1 ElastiMenu-4-0
Note: for Joomla 3.0 ONLY.

This version has the same feature set as the version for Joomla 2.5, but brings it up to date with the latest mod_menu from Joomla 3.0 (incuding Active Menu control as introduced in Joomla 3.0).
433 0.023434 28.01.2013 28.01.2013
2 ElastiMenu-3-0
Note: for Joomla 2.5 ONLY

This version has all the features of ElastiMenu 2.0 but synchs up some minor changes from mod_menu for Joomla 2.5, and is tested working on Joomla 2.5.
627 0.023058 14.05.2012 14.05.2012
3 ElastiMenu-2-0
Note: for Joomla 1.7 ONLY

This release adds the ability to mark some menu items for guests only, or for logged-in users only.
611 0.023289 29.08.2011 29.08.2011
4 ElastiMenu-1-0
Note: for Joomla 1.5 ONLY
1054 0.012212 20.05.2010 29.08.2011