diff options
author | Dries Buytaert <dries@buytaert.net> | 2005-11-17 06:42:13 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2005-11-17 06:42:13 +0000 |
commit | 3cb8017c5adda88c3f10f7756359e0471dfe3fb8 (patch) | |
tree | d5cd11edca55cac25b54370195c2810871b841c3 /modules/menu.module | |
parent | 8b02851feebb9fe8bc2f955cf2dcdcd5eb475877 (diff) | |
download | brdo-3cb8017c5adda88c3f10f7756359e0471dfe3fb8.tar.gz brdo-3cb8017c5adda88c3f10f7756359e0471dfe3fb8.tar.bz2 |
- Patch #37327 by Richard Archer: made the menu edit screen slightly less confusing.
Diffstat (limited to 'modules/menu.module')
-rw-r--r-- | modules/menu.module | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/modules/menu.module b/modules/menu.module index 8dfec2728..c7062badb 100644 --- a/modules/menu.module +++ b/modules/menu.module @@ -106,17 +106,21 @@ function menu_configure() { $primary_options[$mid] = $menu['items'][$mid]['title']; } - $form['settings_links'] = array('#type' => 'fieldset', '#title' => t('Primary links settings')); + $form['settings_links'] = array( + '#type' => 'fieldset', + '#title' => t('Primary links settings'), + ); + $form['settings_links']['intro'] = array( - '#type' => 'markup', - '#value' => t('Primary links is a navigation system which usually (depending on your theme) appears at the top-right of the browser window. There are usually two rows of links, primary and secondary. You may control which links appear in this area by choosing a menu from which the links will be generated and then placing your links into the menu using the <a href="%menu">menu administration</a> or the \'Menu settings\' pane on each edit node form.', array('%menu' => url('admin/menu'))) + '#type' => 'item', + '#value' => t('Primary links is a navigation system which usually (depending on your theme) appears at the top-right of the browser window. There are usually two rows of links, primary and secondary. You may control which links appear in this area by choosing a menu from which the links will be generated and then placing your links into the menu using the <a href="%menu">menu administration</a> or the \'Menu settings\' pane on each node authoring form.', array('%menu' => url('admin/menu'))), ); $form['settings_links']['menu_primary_menu'] = array( '#type' => 'select', '#title' => t('Menu containing primary links'), '#default_value' => variable_get('menu_primary_menu', 0), - '#options' => $primary_options + '#options' => $primary_options, ); $secondary_options[0] = t('No secondary links'); @@ -129,7 +133,30 @@ function menu_configure() { '#title' => t('Menu containing secondary links'), '#default_value' => variable_get('menu_secondary_menu', 0), '#options' => $secondary_options, - '#description' => t('If you select the same menu as primary links then secondary links will display the appropriate second level of your navigation hierarchy.') + '#description' => t('If you select the same menu as primary links then secondary links will display the appropriate second level of your navigation hierarchy.'), + ); + + $form['settings_authoring'] = array( + '#type' => 'fieldset', + '#title' => t('Node authoring form settings'), + ); + + $form['settings_authoring']['intro'] = array( + '#type' => 'item', + '#value' => t('On each post authoring form there is a \'Menu settings\' pane. This setting allows you to limit what is displayed in the \'Parent item\' drop-down menu of that pane. This can be used to force new menu items to be created in the primary links menu or to hide admin menu items.'), + ); + + $authoring_options = array(0 => t('Show all menus')); + foreach ($menu['items'][0]['children'] as $mid) { + $authoring_options[$mid] = $menu['items'][$mid]['title']; + } + + $form['settings_authoring']['menu_parent_items'] = array( + '#type' => 'select', + '#title' => t('Restrict parent items to'), + '#default_value' => variable_get('menu_parent_items', 0), + '#options' => $authoring_options, + '#description' => t('Choose the menu from which parent items will be made available. Only this menu item and its children will be shown.'), ); return system_settings_form('menu_configure', $form); @@ -514,8 +541,9 @@ function menu_overview_tree_rows($pid = 0, $depth = 0) { else { if ($menu['items'][$mid]['type'] & MENU_VISIBLE_IN_TREE) { $operations[] = array('data' => l(t('edit'), 'admin/menu/item/edit/'. $mid)); - if ($menu['items'][$mid]['type'] & MENU_IS_ROOT) { + if ($menu['items'][$mid]['type'] & (MENU_IS_ROOT | MENU_VISIBLE_IF_HAS_CHILDREN)) { // Disabling entire menus is done from block admin page. + // Menus which are only visible when they have children cannot be disabled. $operations[] = array('data' => ''); } else { @@ -539,7 +567,7 @@ function menu_overview_tree_rows($pid = 0, $depth = 0) { } // Call out disabled items. - if ($menu['items'][$mid]['type'] & MENU_VISIBLE_IN_TREE) { + if ($menu['items'][$mid]['type'] & (MENU_VISIBLE_IN_TREE | MENU_VISIBLE_IF_HAS_CHILDREN)) { $class = 'menu-enabled'; } else { |