Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Menu Link (Field)

Security covered Under active development 500 sites

This module allows any entity to have a menu link field, making menu links manageable through Drupal's Field API. This integration provides benefits like enhanced views, customizable widgets, revision support, and granular permission control for menu links.

Defines a menu link field type.

Drupal's core Menu module allows nodes to place menu links (linking to the node) into the menu. The Menu Link (Field) module however allows entities of any type to place menu links into the menu using a field.

Menu link as a field

Menu links as fields gives you the following benefits.

  • Field API. Menu links will be automatically available to modules that interact with the Field API (like the Views module).
  • Widgets and formatters. Use separate widgets and formatters per entity type (and bundle). Contrib modules can provide all kinds of new widgets and formatters.
  • Revision support. Menu links' properties are stored per revision (among which their location in the menu).
  • Permission control. Menu links on nodes can be added by users that don't have access to administer full menus. Permission for menu links on nodes can even be restricted per role with modules like the Field permissions module.

Menu module integration

The Menu Link (Field) module integrates seamlessly into the Menu module. The UI for node types, to configure which menus are available, isn't altered.

The "Menu settings" tab is however removed from the node form and replaced by an field widget (To put the widget into a vertical tab use the Field group module).

Now that menu links are stored as a field it is thus possible to use different widgets per node type.

Developers

Relations between menu links and entities

The Menu Link (Field) module provides one predefined field stored in a fixed database table (using field_sql_storage) named {field_data_menu_link}. Using a fixed table allows other modules to use this table to retrieve and build upon relations between menu links and entities (This field is also being used for the integration with the Menu module).

Menu API additions

To speed up saving/deleting of menu links, the Menu link provides a couple of additions to the Menu API. Those may be used by other modules.

  • menu_link_load_multiple(array $mlids, array $conditions = array())
  • menu_link_delete_multiple(array $mlids)

Plans

  • Provide an generic parent menu link selector element. Using jQuery we could improve usability. Other modules should be able to hook into it and for example restrict the available parents.

Contributors

The initial module is provided by casey.

Drupal 10–11

Ask your assistant about Menu Link (Field)

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

  • field Drupal core

Required by

1 tracked project depends on this one

Activity

Tracked releases
3
Tracked since
Apr 2023
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 2
Maintenance
Active

Release Timeline

Releases

Version Type Core PHP Release date
2.0.7 Stable 10–11 Jul 25, 2025
2.0.6 Stable 10–11 Jul 25, 2025
2.0.5 Stable 8–10 Apr 19, 2023