The menu manager is a ey navigational element of every Joomla website. Menus allow you to give your website users an easy way to understand and use your website. The menu manager in Joomla allows you to easily and conveniently create different menus on your Joomla website. You can create menus like the main menu, bottom menu, sidebar menu and as much menu as will be relevant to your users. You can also create submenus and link a module to a menu. In this tutorial, we will look at how you can do all these from your website admin backend.
You will also want to read:
Basic Documentation on Joomla Website Administration
How to Create a Menu in a Joomla Website
First, go to menu manager, select add new menu or click new from the top right icons.
Next, you will be prompted to a page where you fill some basic information.
- add menu title
- add menu type
- add menu description
Next, click save or save and close.
At this point, your newly added menu should appear in the list of menus under menu manager.
You can then proceed to add content to the new menu.
How to add a home icon to the Joomla menu
Having the icon instead of "home" in your main Joomla menu can be beautiful and is fast becoming the trend. There are times when you will want to have your website display in this form. It actually does not add up any SEO advantage neither will it give any click-through boost. It is simply an issue of aesthetic and you will want to try it just to have some beautiful display of an icon instead of using the text: “home"
Joomla allows you to replace the “home” menu with an icon. For you to implement this, you need to have a Joomla website installed with full backend access. That is, you should have successfully been able to login to http://yourwebsite.com/administrator which is the default administrator URL in Joomla. You may also need to have ftp access if you choose to upload images via ftp. However, this will not be necessary if your image is stored within the section of your website you can access fro the Joomla backend.
This tutorial will show you how to achieve this.
Go to Menus > Main Menu > Home.
Click to edit the Home link and you'll see a screen like this:come up.
Click the "Link Type" tab.
Set "Add Menu Title" to "No". This will hide the text from showing in the menu.
Click "Select" next to "Link Image".
Either choose the icon you want to use, or upload a new one.
Click "Insert" to add the icon chosen.
Save the menu link.
Check the front of your site and the icon will be visible.
You may need to adjust the icon to the right size.
How to use two main menus in Joomla
You’ve likely noticed that on several Joomla websites, there are 2 different main menus; one for the HomePage and another for the subpages. Such functionality may be very useful, especially when you’re building a OnePage Layout website and want to have links to the different one-page sections on the frontpage which won’t be needed on the subpages, or to link to additional content which you could not include on Homepage.
Why use separate menus?
In Joomla templates this is a useful option when you are linking to anchors. Normal links always point to the top of a page, whereas anchors point to a place within a page; modules in most cases. Anchors are generally used when you create OnePage Layout with considerable amounts of text and objects like images, charts etc. Anchors are invisible to the reader when the page is displayed.
An # in front of a link location specifies that the link is pointing to an anchor on a page rather than a separate URL. The link syntax for the anchor is usually kept simple, for example: #blog, #contact. The anchor name in the full URL is concatenated into a single word, with all spaces removed. Remember that the anchor name is case-sensitive.
As some things about Joomla template structure has changes over the last few years, in the following guide we’ll show you two techniques you can use to help you reach your goal of two separate Main Menus.
Two separate menus in template
All you have to do is create (add) two different Menus in your menu manager and select which menu should go where in the in template settings; easy-peasy!
Separate Menu in Older OnePage templates
First, you’ll have to create 2 separate menus, just like in the ‘easy’ method above – one for the HomePage where you can use Anchor links and internal links to default (articles, contacts etc.) or 3th party components (K2 items, K2Store, JomSocial, EasyBlog etc.).
The second menu will be used on all other subpages, so you’ll probably want to include internal links to articles, components etc..
Note, this is an important tip: the SubPages menu must have a Home link which will be set as the default for the whole website.
Menu for SubPages should have Home item
Now, in your Template Manager you need to clone, or duplicate, the default template style . As a result you’ll have 2 instances of the exact same template but with different settings.
The subpage menu should be set as the default template ( the yellow star indicates that the style is set as default). Navigate to its settings>menu tab and select the Menu which you want to use for your subpages.
Now you can focus on the newly-created clone of your template, that you will use only for the HomePage. By default, Joomla! assigns a template style to all menu items upon installation. But since from version 2.5 Joomla! gives you the option of switching between two or more styles on the Front-end. This is done with “Menu Assignment”, so you can set different styles for each menu or only a menu item. This allows specific “pages” that are defined by menu links to be set to a specific style, including styles from separate templates.
But it does require two small changes to the settings:
First, also set a Menu in this clone template; this will be used only on the HomePage.
Second, in the “Menus assignment” tab you have to apply the current style to a menu item’s corresponding web page. In most cases check the box next to the “Home” menu item only and now you can Save settings. Go to the front-end of your website and refresh the page to view the modifications.
Check the box next to the “Home” menu item
As far as the CMS is concerned, this setting means that that template style will be used only on this menu item position while the rest of the system will continue using the template which was set as the Default. The Joomla! templating system uses the ItemID to determine which template/style to show. ItemIDs are created when you create a menu link. This is why only menu items are shown in the list of pages to which you can assign templates/styles.
Note: You cannot assign the default style to individual pages
Menu link error in Joomla: What to Check for a possible fix
You could set up a Joomla website and have a well functional homepge but errors with internal menu links. This is not unusual and a few checks could address the issue.
You will need to check if you have a proper .htaccess file. You will need to delete current .htaccess file and reupload the .htaccess file from a Joomla directory that is working well.
The other point to check is to confirm if the article, menu, module or any other linked associated with the menu is not disabled or deleted.
If these does not fix the issues, you may contact your webhost for further assistance.
How to Add a Module to Joomla Menu
You’ll usually want to associate modules with content or website navigation in some way. You might have seen that in some websites where inserted some modules into the menu as objects.
The menu is the main navigation element of almost all websites. Therefore, in every template, whether simple or complex, it is important to take advantage of its potential. Using this method you can also add Login module inside Menu.
By default all modules are allocated to module positions and the module positions themselves are placed somewhere on the Joomla webpage as determined by the template. However, it is sometimes useful to have a module actually embedded into the menu.
How to put any Joomla module inside the menu
You can display modules as drop down menu items. To do this, you'll first want to create a module. You can create a login module. While creating the module, instead of selecting a position for the module, create a unique position name by typing the name in the Position field and clicking Enter on your keyboard. Assign the module to All Pages in Menu Assignment tab. Be sure to save and close the module.
Next, create the menu item. For the Menu Item Type, select Text Separator from the System Links option.
Next, click on the Dropdown Menu Options tab. In the Child Item Type area, click on the Module Positions option. In the Child Module Positions field that opens, type in the name of the unique position you created for your module. Be sure to save your work.
Return to the front end of your site to see the module you've loaded as a menu item.
IMPORTANT: Modules loaded into a menu aren't supported by mobile menus. By using responsive support classes, you can hide a menu module on phones, and you can create a new module that will show up only on phones. For the menu item we've been working on in the explanation above, we'd add the class "hidden-phone" in the Custom CSS Class field that's found on the Dropdown Menu Options tab.
Next, we'd duplicate the Login module we created and assign it to a position in our template. Then we'd click on the Advanced tab in the module and insert the "visible-phone" class in the Module Class Suffix field.
Important: If the class inserted in Module Class Suffix field doesn't take the effect, please add a space before its name.