function menu_edit_menu
menu_edit_menu($form, &$form_state, $type, $menu = array())
Menu callback; Build the form that handles the adding/editing of a custom menu.
File
- modules/menu/ menu.admin.inc, line 440
- Administrative page callbacks for menu module.
Code
function menu_edit_menu($form, &$form_state, $type, $menu = array()) { $system_menus = menu_list_system_menus(); $menu += array( 'menu_name' => '', 'old_name' => !empty($menu['menu_name']) ? $menu['menu_name'] : '', 'title' => '', 'description' => '', ); // Allow menu_edit_menu_submit() and other form submit handlers to determine // whether the menu already exists. $form['#insert'] = empty($menu['old_name']); $form['old_name'] = array( '#type' => 'value', '#value' => $menu['old_name'], ); $form['title'] = array( '#type' => 'textfield', '#title' => t('Title'), '#default_value' => $menu['title'], '#required' => TRUE, // The title of a system menu cannot be altered. '#access' => !isset($system_menus[$menu['menu_name']]), ); $form['menu_name'] = array( '#type' => 'machine_name', '#title' => t('Menu name'), '#default_value' => $menu['menu_name'], '#maxlength' => MENU_MAX_MENU_NAME_LENGTH_UI, '#description' => t('A unique name to construct the URL for the menu. It must only contain lowercase letters, numbers and hyphens.'), '#machine_name' => array( 'exists' => 'menu_edit_menu_name_exists', 'source' => array('title'), 'replace_pattern' => '[^a-z0-9-]+', 'replace' => '-', ), // A menu's machine name cannot be changed. '#disabled' => !empty($menu['old_name']) || isset($system_menus[$menu['menu_name']]), ); $form['description'] = array( '#type' => 'textarea', '#title' => t('Description'), '#default_value' => $menu['description'], ); $form['actions'] = array('#type' => 'actions'); $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save'), ); // Only custom menus may be deleted. $form['actions']['delete'] = array( '#type' => 'submit', '#value' => t('Delete'), '#access' => $type == 'edit' && !isset($system_menus[$menu['menu_name']]), '#submit' => array('menu_custom_delete_submit'), ); return $form; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!menu!menu.admin.inc/function/menu_edit_menu/7.x