drupal 7 – crear pestañas con hook_menu () para módulo personalizado

Pregunta:

Desde hace dos horas estoy tratando de crear pestañas en mi backend de módulos personalizados.

Probé varias sugerencias pero no pude hacer que ninguna funcionara.

este es mi actual 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;
}

Simplemente quiero dos pestañas llamadas: 'tab1' y 'tab2'.

¿Alguien puede darme un ejemplo práctico? Esto debería ser realmente simple, pero ahora mismo parece imposible.

Respuesta:

Debe definir una ruta 'raíz' que es un elemento de menú normal, y luego agregar otro elemento para cada una de las pestañas. El primero de ellos heredará las propiedades del elemento raíz y el segundo definirá sus propias devoluciones de llamada.

Combinado con las constantes de tipo MENU_LOCAL_TASK y MENU_DEFAULT_LOCAL_TASK , debería obtener las pestañas que espera:

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

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım