कस्टम मॉड्यूल के लिए hook_menu () के साथ टैब बनाएं


14

चूंकि दो घंटे im मेरे कस्टम मॉड्यूल बैकएंड में टैब बनाने की कोशिश कर रहे हैं।

मैंने सुझावों की कोशिश की है, लेकिन उनमें से किसी को भी काम नहीं मिला।

यह मेरा वर्तमान हुक_मेनू () है:

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

2
सबक क्लाइव के लिए धन्यवाद! अच्छे खर्च। आपने अभी मुझे कुछ घंटे बचाए :)
mhmdrupal
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.