Menu Builder

Blocks ::: block_menubuilder
Maintained by Dynamic Pixel
The **Menu Builder** block allows administrators and teachers to create a fully customizable vertical menu with links, Material Design icons, and role-based visibility directly from the block configuration interface.

Menu Builder 1.0.0

Moodle 3.10, 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 5.0, 5.1
Released: vrijdag, 23 januari 2026, 18:04

Menu Builder Block for Moodle

Plugin name: Menu Builder
Component: block_menubuilder
Version: 2026.01.23
Moodle compatibility: Moodle 3.9 – 4.4+ (tested up to Moodle 4.4)
Author: Dynamicpixel Multimedia Solutions
License: GNU GPL v3 or later


Overview

The Menu Builder block allows administrators and teachers to create a fully customizable vertical menu with links, Material Design icons, and role-based visibility directly from the block configuration interface.

Perfect for: - Creating quick-access side menus - Building custom navigation for specific courses or the site front page - Providing role-specific links (e.g., Student Resources, Staff Portal, Parent Links)


Features

  • Add up to 20 menu items per block instance
  • Set title, URL, and Material Design icon for each item
  • Role-based visibility – show items only to selected roles (multiple roles supported)
  • Automatic active state highlighting based on current page URL
  • Special handling for the Moodle Dashboard (/my) so "/my" links are highlighted correctly
  • Clean, modern styling with hover effects and active indicator
  • Uses Google Material Icons (Outlined) – just type the icon name (e.g., home, school, assignment)

Installation

  1. Download the plugin folder named menubuilder
  2. Place it in your Moodle /blocks/ directory
  3. Log in as administrator and visit Site administration > Notifications to complete installation
  4. The block will appear in the "Add a block" dropdown as Menu Builder

How to Use

  1. Add the Menu Builder block to a page (Dashboard, course page, or front page)
  2. Click the gear icon > Configure Menu Builder block
  3. Set Number of items (0–20)
  4. For each item configure:
    • Item title – displayed text
    • Item URL – full or relative URL (e.g., /my/, https://example.com, /course/view.php?id=5)
    • Item icon (optional) – Material icon name, e.g., dashboard, forum, grade
      (See all icons: https://fonts.google.com/icons)
    • Allowed roles – leave empty to show to everyone, or select specific roles
  5. Save changes

Tip: Use relative URLs when linking inside your Moodle site (e.g., /calendar/view.php, /grade/report/overview/index.php)


Supported Icon Examples

Icon Name Appears As
home Home
dashboard Dashboard
school School
people People
forum Forum
assignment Assignment
quiz Quiz
folder Folder
calendar_today Calendar
settings Settings

Just type the name exactly as shown on Google Material Icons.


Requirements

  • Moodle 3.9 or higher
  • Internet connection (to load Google Material Icons font)
  • Theme that does not override block CSS heavily (works perfectly with Boost, Classic, and most child themes)

Known Limitations

  • Maximum 20 items per block instance (you can add multiple blocks if needed)
  • Icons are loaded from Google Fonts (no local fallback)

Support & Bug Reports

Please report issues or suggestions at:
contact: Dynamicpixel Multimedia Solutions


Changelog

2026.01.23 - Initial public release - Role-based visibility - Material Icons integration - Dashboard (/my) active state fix - Responsive and clean design


License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See LICENSE.txt for full details.


Made with ❤️ for the Moodle community

Version information

Version build number
2026012300
Version release name
1.0.0
Maturity
Stabiele versie
MD5 Sum
593c72c6541fc5b294232aedb470dc63
Supported software
Moodle 3.10, Moodle 3.11, Moodle 4.0, Moodle 4.1, Moodle 4.2, Moodle 4.3, Moodle 4.4, Moodle 4.5, Moodle 5.0, Moodle 5.1
  • Latest release for Moodle 3.10
  • Latest release for Moodle 3.11
  • Latest release for Moodle 4.0
  • Latest release for Moodle 4.1
  • Latest release for Moodle 4.2
  • Latest release for Moodle 4.3
  • Latest release for Moodle 4.4
  • Latest release for Moodle 4.5
  • Latest release for Moodle 5.0
  • Latest release for Moodle 5.1

Version control information

Version control system (VCS)
GIT
VCS repository URL

Default installation instructions for plugins of the type Blocks

  1. Make sure you have all the required versions.
  2. Download and unpack the block folder.
  3. Place the folder (eg "myblock") in the "blocks" subdirectory.
  4. Visit http://yoursite.com/admin to complete the installation
  5. Turn editing on in any home or course page.
  6. Add the block to the page
  7. Visit the config link in the block for more options.