사용자 정의 모듈에 대한 hook_menu ()를 사용하여 탭 만들기


14

두 시간 동안 사용자 정의 모듈 백엔드에서 탭을 만들려고합니다.

몇 가지 제안을 시도했지만 그중 아무것도 작동하지 못했습니다.

이것은 내 현재 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'라는 두 개의 탭이 필요합니다.

누군가 나에게 실례를 줄 수 있습니까? 이것은 정말 간단해야하지만 지금은 불가능 해 보입니다.

답변:


44

일반 메뉴 항목 인 '루트'경로를 정의한 다음 각 탭에 대해 다른 항목을 추가해야합니다. 첫 번째는 루트 항목의 속성을 상속하고 두 번째는 자체 콜백을 정의합니다.

MENU_LOCAL_TASKMENU_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;
}

2
강의 clive에 감사드립니다! 좋은 설명입니다. 당신은 나를 몇 시간 절약했습니다 :)
mhmdrupal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.