There are some standard Joomla features that cannot be embedded in an article but require a separate menu item. Sometimes you want the content, but not for it to appear in your menu tree. What to do?
You can create these items on a separate menu which makes them available but not visible.
The standard contact form, some types of event calendar and iFrame wrappers and various other content elements are dependent on a specific menu item type rather than a module or plugin. If you want the content you need the menu item - but you don't need it in your main menu
Example: A contact page
In this example I want to create a contact form which does not appear on the main menu. Obviously you need to create the contact first - I have set up a dummy contact to demonstrate the process.
Next create a new menu - not a menu item, an entire new menu. You only need to do this once, you can reuse this menu for all the hidden menu items you need.
Menus/Menu Manager/Add New Menu:
Give it a name and type of 'hidden' or whatever makes sense to you. The 'menu type' field is a unique identifier - menu ID might be a better name, but we must deal with the world as it, not as we might like to to be. You can give it a description if that makes you feel better.
Now create the menu item, attached to this menu. Menus/Hidden/Add New Menu Item:
And create the menu item as normal. Note that the Menu Location is 'Hidden' - our new menu. You can move menu items between your main and hidden menu at will if you need to.
Make a note of the 'alias' field (from the menu list or 'Save' the menu item rather than 'Save and Close') - you will need this to link to your new menu item - in my case it is 'contact-dummy'.
Lastly, where you want to link to your new menu item, create a link to the page. The link url is index.php/{alias}, where {alias} is the menu item alias (assuming your hidden menu items are all at the top level). You can also use the 'Link' field. These two urls give the same result:
URL | Link |
index.php/contact-dummy | [here] |
index.php?option=com_contact&view=contact&id=2 | [here] |
In some cases there are other ways to achieve the same result, but this technique is another option. Whatever works for you...