function menu_manipulator_form_menu_link_content_form_alter in Menu Manipulator 8.2
Same name and namespace in other branches
- 8 menu_manipulator.module \menu_manipulator_form_menu_link_content_form_alter()
- 3.0.x menu_manipulator.module \menu_manipulator_form_menu_link_content_form_alter()
- 2.0.x menu_manipulator.module \menu_manipulator_form_menu_link_content_form_alter()
Implements hook_form_BASE_FORM_ID_alter() for the Menu Link Content form.
@todo make $icon_list administrable.
File
- ./
menu_manipulator.module, line 155 - Contains menu_manipulator.module.
Code
function menu_manipulator_form_menu_link_content_form_alter(array &$form, FormStateInterface $form_state, $form_id) {
$menu_link = $form_state
->getFormObject()
->getEntity();
$menu_link_options = $menu_link->link ? $menu_link->link
->first()->options : [];
$config = \Drupal::config('menu_manipulator.settings');
// Hide icon options by default.
$do_filter = FALSE;
// Check if this menu is selected has been selected by user.
if (is_array($config
->get('preprocess_menus_icon_list'))) {
$do_filter = array_intersect([
$menu_link
->getMenuName(),
], $config
->get('preprocess_menus_icon_list'));
}
// Stop now if not allowing Icons processing for this menu.
if (!$do_filter) {
return;
}
$icon_list_value = $config
->get('menu_link_icon_list') ?: '';
$icon_list = menu_manipulator_prepare_associative_list($icon_list_value);
$form['menu_link_icon'] = [
'#type' => 'select',
'#title' => t('Icon'),
'#description' => t('Select icon for this menu link.'),
'#weight' => -2,
'#tree' => TRUE,
'#access' => \Drupal::currentUser()
->hasPermission('use menu link icon'),
'#empty_option' => t('- Select -'),
'#options' => $icon_list,
'#default_value' => isset($menu_link_options['icon']) ? $menu_link_options['icon'] : NULL,
];
$form['actions']['submit']['#submit'][] = 'menu_manipulator_menu_link_content_form_submit';
}