Skip to Content

Custom Menus intermediate

InvenioRDM exposes site menus (top nav, dashboard tabs, user dropdowns, etc.) as configurable menus composed of submenus. Implementation is based on the Flask-Menu  extension. You can add new submenus (register them programmatically) or modify properties of existing submenus via instance configuration. Menu customization in NRP Invenio repositories is fully compatible with InvenioRDM docs on menu customization . You can refer to this docs to learn how to customize existing menus or add custom submenus.

List of menus

To find out what built-in menus are registered by default and can be customized, please refer to the InvenioRDM docs — list of menus .

In NRP Invenio repositories, there might be a few more, depending on your record models & enabled set of features. To learn about currently registered menus and submenus in your specific repository site, run the following CLI commands:

./run.sh invenio shell
from flask_menu import current_menu [(menu.name, [submenu.name for submenu in menu.children]) for menu in current_menu.children] # # [('plus', ['create_myrecord', 'community']), # ('main', ['about_repository', 'communities', 'stats']), # ('settings', ['admin', 'profile', 'security', 'oauthclient', 'applications']), # ('actions', ['deposit']), # ('dashboard', ['uploads', 'communities', 'requests']), # ('admin_navigation', # ['dashboard', 'Communities', 'Site management', 'System']), # ('profile-admin', ['administration']), # ('breadcrumbs', ['settings']), # ('communities', # ['requests', 'members', 'settings', 'curation_policy', 'about'])]
Last updated on