diff --git a/core/modules/menu/menu.module b/core/modules/menu/menu.module index ece3aac..00431ee 100644 --- a/core/modules/menu/menu.module +++ b/core/modules/menu/menu.module @@ -151,6 +151,24 @@ function menu_entity_info_alter(&$entity_info) { $entity_info['menu']['controllers']['form'] = array( 'default' => 'Drupal\menu\MenuFormController', ); + $entity_info['menu_link']['entity_keys']['bundle'] = 'menu_name'; +} + +/** + * Implements hook_entity_bundle_info(). + */ +function menu_entity_bundle_info() { + $bundles = array(); + $info = Drupal::service('plugin.manager.entity')->getDefinition('menu'); + $config_names = config_get_storage_names_with_prefix($info['config_prefix'] . '.'); + foreach ($config_names as $config_name) { + $config = config($config_name); + $bundles['menu_link'][$config->get('id')] = array( + 'label' => $config->get('label'), + ); + } + + return $bundles; } /**