The top navigation menu includes entries that are generated by default but you may want to include additional menu entries that are unique to your learning environment.
Step-by-step Guide
To customize the menu,
- Go to Site Administration > Appearance > Themes > Theme settings
- Scroll down to the "Custom menu items" section of the page
- Make your changes (see the "Structure of the Menu Entries" below).
- Click on the "Save changes" button at the bottom of the page
Structure of the Menu Entries
Each line consists of required and optional parameters separated by the pipe “|” character. The parameters include:
- The menu text
- A link URL (optional)
- A tooltip title (optional)
- A language code (en or fr_ca) or comma-separated list of both codes for displaying the menu entry to users of the specified language only (optional)
- A capability or comma-separated list of capabilities for displaying the menu entry to users with the specified system capability only (optional).
Following is an example of a menu entry with all available options.
FAQ|/our-lms-faq |FAQ|en|local/dualcode:authenticated
In this example, a menu entry named "FAQ" will display HTML page called “our-lms-faq” when the site is viewed in English and the user is logged in.
Restricting Access to a Menu
Custom menus items will be visible to all users, including users who haven't logged in, unless you restrict access to them by specifying required capabilities.
A common requirement is to show different menus to authenticated users and non-authenticated users. To facilitate this requirement, you should be aware of the following common capabilities:
User Group | Menu Option |
---|---|
Logged in users only | local/dualcode:authenticated |
Non-logged in users only | local/dualcode:notauthenticated |
Users with supervisor capabilities (e.g. VPs, directors, supervisors) | moodle/site:viewreports |
Everyone | no option is required |
Note:
- When a custom menu item is associated with local/dualcode:authenticated, users will need to log into the system to see it.
- When a custom menu is associated with local/dualcode:notauthenticated, users will see the menu item so long as they have not signed into the application.
- Any capability in the system can be used to restrict access to a menu item as long as it's assigned to a user in the context of the system. For an exhaustive list of capabilities, see https://docs.moodle.org/39/en/Category:Capabilities
Creating Submenus
Submenu entries are created by putting a dash “-“ at the start of the line. For example:
FAQ
-Standard Topics|/standard_topics
-Special Topics|/special_topics
In this case, FAQ would be the main menu entry and “Standard Topics” and “Special Topics” would appear in the drop-down menu when you click FAQ.