diff --git a/site_map.admin.inc b/site_map.admin.inc index 98c97aa..f2f51bf 100644 --- a/site_map.admin.inc +++ b/site_map.admin.inc @@ -74,6 +74,11 @@ function site_map_admin_settings_form() { $menu_options = array(); $menu_options = menu_get_menus(); + //Override menu title if a sitemap menu title is provided + foreach ($menu_options as $key => $menu) { + $menu_options[$key] = variable_get('site_map_menu_title_' . $key, $menu); + } + $form['site_map_content']['site_map_show_menus'] = array( '#type' => 'checkboxes', '#title' => t('Menus to include in the site map'), diff --git a/site_map.module b/site_map.module index fe1756e..1ab49ee 100644 --- a/site_map.module +++ b/site_map.module @@ -412,7 +412,7 @@ function _site_map_menus() { $menu_display = _site_map_menu_tree_output($tree); $menu_html = drupal_render($menu_display); if (!empty($menu_html)) { - $title = t($menu['title']); + $title = t(variable_get('site_map_menu_title_'.$mid, $menu['title'])); if (module_exists('i18n_string')) { $title = i18n_string_plain(array('menu', 'menu', $menu['menu_name'], 'title'), $title); } @@ -728,3 +728,28 @@ function _site_map_set_option(&$options, $option_string, $get_param, $equal_para $options[$set_string] = $set_value; } } + + +/** + * Implements hook_form_alter + * + * Adds sitemap title field to edit menu form. + */ +function site_map_form_alter(&$form, &$form_state, $form_id) { + if ($form_id == 'menu_edit_menu') { + $form['sitemap_menu_title'] = array( + '#type' => 'textfield', + '#title' => t('Sitemap Title'), + '#default_value' => variable_get('site_map_menu_title_' . $form_state['build_info']['args'][1]['menu_name'], $form_state['build_info']['args'][1]['title']), + ); + $form['#submit'][] = 'site_map_title_form_submit'; + } +} + + +/** + * Custom submit functionality to save sitemap menu title + */ +function site_map_title_form_submit($form, &$form_state) { + variable_set('site_map_menu_title_' . $form_state['values']['menu_name'], $form_state['values']['sitemap_menu_title']); +} \ No newline at end of file