Редактировать
Я не понял, что вы хотите сделать общую модификацию вкладок профиля пользователя, не обязательно удаляя их. Я изменил свой код, чтобы предоставить несколько разных примеров того, как вы можете изменять вкладки.
Редактировать 2
Убрана проверка user_access()
для unset, поскольку она будет проверяться только при перестройке меню. Вместо этого добавлен access callback
пример.
Вы можете сделать это в пользовательском модуле с hook_menu_alter()
и unset()
:
function mymodule_menu_alter(&$items) {
// If you have the Devel module installed, uncomment to retrieve list
// of registered menu items to figure out what to unset.
// kpr($items);
// Change the name of the Edit tab
$items['user/%user_category/edit']['title'] = t('Awesome edit!');
// Disable the user edit tab, but don't disable the page if you go navigate
// directly to it
// @see http://api.drupal.org/api/function/hook_menu/6 for other types
$items['user/%user_category/edit']['type'] = MENU_CALLBACK;
// Only allow people with administer site configuration permissions to
// access the user edit and user edit account tabs.
$items['user/%user_category/edit']['access callback'] = 'user_access';
$items['user/%user_category/edit']['access arguments'] = array('administer site configuration');
$items['user/%user_category/edit/account']['access callback'] = 'user_access';
$items['user/%user_category/edit/account']['access arguments'] = array('administer site configuration');
// Completely disable the user edit tab, even if you go directly to it
// This affects all users, including user 1.
unset($items['user/%user_category/edit']);
unset($items['user/%user_category/edit/account']);
}
Каждый элемент меню регистрируется в Drupal с использованием массива $items
. После включения этого модуля перестройте кеш, и вкладки должны быть изменены.