"Добавить ссылку" в меню "Мой аккаунт"
Страница учетной записи пользователя (http://example.com/user ) состоит из некоторых вкладок по умолчанию, таких как "Просмотр", "Редактирование" и т.д.
Я хочу добавить туда ссылку на свое меню. Возвращаемый контент должен зависеть от идентификатора пользователя. Как мне это сделать?
1 answers
Если вы просто хотите добавить новую вкладку, то модуль должен просто реализовать hook_menu(), используя код, аналогичный следующему.
function mymodule_menu() {
$items = array();
$items['user/%user/new_tab'] = array(
'title' => 'New tab title',
'page callback' => 'drupal_get_form',
'page arguments' => array('mymodule_newtab_form', 1),
'access arguments' => array('access new tab'),
'type' => MENU_LOCAL_TASK,
);
return $items;
}
function mymodule_newtab_form($form, &$form_state, $account) {
// ...
}
mymodule_newtab_form()
получил бы объект пользователя в $account
. Этот обратный вызов меню создаст форму с использованием API формы. Если целью является вывод, объявление обратного вызова меню будет аналогичным, за исключением двух индексов массива, которые будут следующими:
'page callback' => 'mymodule_newtab_form',
'page arguments' => array(1),
Аргумент, переданный обратному вызову, тоже будет другим.