özel modül için hook_menu () ile sekme oluşturma


14

iki saat beri benim özel modülleri arka uç sekmeleri oluşturmaya çalışıyorum.

Birkaç öneri denedim ama hiçbiri işe yaramadı.

bu benim mevcut 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;
}

Sadece iki sekme istiyorum: 'tab1' ve 'tab2'.

Birisi bana çalışan bir örnek verebilir mi? Bu gerçekten basit olmalı, ama şu anda imkansız görünüyor

Yanıtlar:


44

Normal bir menü öğesi olan bir 'kök' yolu tanımlamanız ve ardından her sekme için başka bir öğe eklemeniz gerekir. Bunlardan ilki kök öğenin özelliklerini devralır, ikincisi ise kendi geri çağrılarını tanımlar.

İle birlikte MENU_LOCAL_TASKve MENU_DEFAULT_LOCAL_TASKtipi sabitleri, beklediğiniz sekmeleri almalısınız:

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
ders clive için teşekkürler! İyi açıklama. Beni sadece birkaç saat kurtardın :)
mhmdrupal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.