function simple_megamenu_menu_link_default_form_submit in Simple Mega Menu 8
Same name and namespace in other branches
- 2.0.x simple_megamenu.module \simple_megamenu_menu_link_default_form_submit()
Submit function for menu add / edit form.
1 string reference to 'simple_megamenu_menu_link_default_form_submit'
File
- ./
simple_megamenu.module, line 246 - Contains simple_megamenu.module.
Code
function simple_megamenu_menu_link_default_form_submit($form, FormStateInterface $form_state) {
$build_info = $form_state
->getBuildInfo();
/* @var \Drupal\Core\Menu\MenuLinkDefault $menu_link_default */
$menu_link_default = $build_info['args'][0];
/* @var \Drupal\Core\Menu\MenuLinkManagerInterface $menu_link_manager */
$menu_link_manager = \Drupal::service('plugin.manager.menu.link');
$menu_link_options = $menu_link_default
->getOptions();
if ($form_state
->getValue('simple_mega_menu')) {
$data_simple_mega_menu = [
'attributes' => [
'data-simple-mega-menu' => $form_state
->getValue('simple_mega_menu'),
],
];
$options = array_merge($menu_link_options, $data_simple_mega_menu);
$menu_link_manager
->updateDefinition($menu_link_default
->getPluginId(), [
'options' => $options,
]);
}
else {
if (isset($menu_link_options['attributes']['data-simple-mega-menu'])) {
unset($menu_link_options['attributes']['data-simple-mega-menu']);
if (empty($menu_link_options['attributes'])) {
unset($menu_link_options['attributes']);
}
}
$menu_link_manager
->updateDefinition($menu_link_default
->getPluginId(), [
'options' => $menu_link_options,
]);
}
}