function menu_fields_menu_alter in Menu Item Fields 7
Implements hook_menu_alter().
Add support for drupal style "manage fields" and "manage display" tabs.
File
- ./
menu_fields.module, line 385 - Main file contain hooks/functions.
Code
function menu_fields_menu_alter(&$items) {
foreach ($items as $path => $item) {
$map = explode('/', $path);
$map_count = count($map);
if (strpos($path, 'admin/structure/menu/manage/%/fields') !== FALSE && $map_count == 6) {
$items[$path]['page arguments'][0] = 'menu_fields_field_ui_field_overview_form';
$items[$path]['type'] = MENU_LOCAL_TASK;
}
if (strpos($path, 'admin/structure/menu/manage/%/display') !== FALSE && $map_count == 6) {
$items[$path]['page arguments'][0] = 'menu_fields_field_ui_display_overview_form';
$items[$path]['type'] = MENU_LOCAL_TASK;
}
if (strpos($path, 'admin/structure/menu/manage/%/display') !== FALSE && $map_count == 7) {
$items[$path]['page arguments'][0] = 'menu_fields_field_ui_display_overview_form';
$items[$path]['access callback'] = 'menu_fields_field_ui_view_mode_menu_access';
}
if (strpos($path, 'admin/structure/menu') !== FALSE && strpos($path, '%field_ui_menu') !== FALSE) {
$path_new = str_replace('%field_ui_menu', '%menu_fields_field_ui_menu', $path);
$items[$path_new] = $items[$path];
unset($items[$path]);
}
}
$items['admin/structure/menu']['page callback'] = 'menu_fields_menu_overview_page';
$items['admin/structure/menu']['file'] = 'menu_fields.admin.inc';
$items['admin/structure/menu']['file path'] = drupal_get_path('module', 'menu_fields');
}