function menu_item_extras_entity_type_build in Menu Item Extras 8.2
Implements hook_entity_type_build().
File
- ./
menu_item_extras.module, line 46 - Manage fields for the menu items.
Code
function menu_item_extras_entity_type_build(array &$entity_types) {
if (\Drupal::service('config.factory')
->get('menu_item_extras.utility')
->get('entity_type_build_status')) {
$content_entity = 'menu_link_content';
// Set entity type to be bundled.
/** @var \Drupal\Core\Entity\ContentEntityTypeInterface $mlc */
$mlc = $entity_types[$content_entity];
$mlc
->setClass(MenuItemExtrasMenuLinkContent::class);
// Set handler for views.
$mlc
->setHandlerClass('views_data', 'Drupal\\menu_item_extras\\MenuLinkContentViewsData');
$mlc
->set('bundle_entity_type', 'menu');
$mlc
->set('field_ui_base_route', 'entity.menu.edit_form');
// Set entity to be a bundle entity type for previous entity.
/** @var \Drupal\Core\Config\Entity\ConfigEntityTypeInterface $menu */
$menu = $entity_types['menu'];
$menu
->set('bundle_of', $content_entity);
$entity_types['menu']
->setFormClass('clear', 'Drupal\\menu_item_extras\\Form\\ConfirmClearMenuForm')
->setLinkTemplate('clear', '/admin/structure/menu/manage/{menu}');
$entity_types['menu']
->setFormClass('view_modes_settings', 'Drupal\\menu_item_extras\\MenuItemExtrasViewModesSettingsForm')
->setLinkTemplate('view-modes-settings', '/admin/structure/menu/manage/{menu}/view_modes_settings');
}
}