создание вкладок с меню крючка() для пользовательского модуля


Уже два часа я пытаюсь создать вкладки в бэкэнде моих пользовательских модулей.

Я попробовал несколько предложений, но не смог заставить ни одно из них работать.

Это мой текущий hook_menu():

    function social_links_menu() {
  $items['admin/config/system/social_links'] = array(
    'title' => 'social_links',
    'description' => 'Configure to fit clients needs',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('social_links_settings'),
    'access arguments' => array('administer site configuration'),
    'file' => 'social_links.admin.inc',
  );

  return $items;
}

Я просто хочу, чтобы две вкладки назывались: "tab1" и "tab2".

Может ли кто-нибудь привести мне рабочий пример? Это должно быть действительно просто, но сейчас это кажется невозможным

 14
Author: mhmdrupal, 2012-07-17

1 answers

Вам нужно определить "корневой" путь, который является обычным пунктом меню, а затем добавить еще один пункт для каждой из вкладок. Первый из них унаследует свойства корневого элемента, а второй определит свои собственные обратные вызовы.

В сочетании с MENU_LOCAL_TASK и MENU_DEFAULT_LOCAL_TASK введите константы, вы должны получить вкладки, которые вы ожидаете:

function social_links_menu() {
  $items['admin/config/system/social_links'] = array(
    'title' => 'social_links',
    'description' => 'Configure to fit clients needs',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('social_links_settings'),
    'access arguments' => array('administer site configuration'),
    'file' => 'social_links.admin.inc',
  );

  $items['admin/config/system/social_links/tab1'] = array(
    'title' => 'Tab 1',
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'weight' => -10
  );

  $items['admin/config/system/social_links/tab2'] = array(
    'title' => 'Tab 2',
    'type' => MENU_LOCAL_TASK,
    'page callback' => 'some_callback',
    'access arguments' => array('some permission')
  );

  return $items;
}
 45
Author: Clive, 2015-10-21 17:04:34