"Добавить ссылку" в меню "Мой аккаунт"


Страница учетной записи пользователя (http://example.com/user ) состоит из некоторых вкладок по умолчанию, таких как "Просмотр", "Редактирование" и т.д.

Я хочу добавить туда ссылку на свое меню. Возвращаемый контент должен зависеть от идентификатора пользователя. Как мне это сделать?

Author: kiamlaluno, 2011-04-18

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), 

Аргумент, переданный обратному вызову, тоже будет другим.

 2
Author: kiamlaluno, 2011-04-18 17:01:56