You are here

function nice_mega_dropdowns_form_menu_edit_item_alter in Nice Menus 7.2

Same name and namespace in other branches
  1. 7.3 nice_mega_dropdowns/nice_mega_dropdowns.module \nice_mega_dropdowns_form_menu_edit_item_alter()

Implements hook_form_FORM_ID_alter().

File

nice_mega_dropdowns/nice_mega_dropdowns.module, line 25
Module which allows nodes to be used as dropdown menus.

Code

function nice_mega_dropdowns_form_menu_edit_item_alter(&$form, &$form_state, $form_id) {
  $dropdowns = variable_get('nice_mega_dropdowns', 0);
  $mlid = $form['mlid']['#value'];
  $dropdown_title = '';
  if (array_key_exists($mlid, $dropdowns)) {
    $query = new EntityFieldQuery();
    $result = $query
      ->entityCondition('entity_type', 'node')
      ->entityCondition('entity_id', $dropdowns[$mlid])
      ->execute();
    if ($dropdown_node = array_pop($result['node'])) {
      $dropdown_node = node_load($dropdown_node->nid);
      $dropdown_title = $dropdown_node->title;
    }
  }
  $form['menu']['dropdown'] = array(
    '#type' => 'textfield',
    '#title' => 'Dropdown',
    '#default_value' => $dropdown_title,
    '#autocomplete_path' => 'nice_mega_dropdowns/autocomplete',
    '#required' => FALSE,
    '#description' => 'Select a mega dropdown node, which will be displayed instead of child menu items.',
    '#tree' => TRUE,
    '#access' => TRUE,
  );
  $form['#validate'][] = 'nice_mega_dropdowns_menu_edit_item_validate';
  $form['#submit'][] = 'nice_mega_dropdowns_menu_edit_item_submit';
}