Создание локальных задач (табы, вкладки)

api.drupal.ru про локальные задачи:

В интерфейсе Друпал по умолчанию, вы найдёте много ссылок, которые показаны как вкладки. В системе меню они называются локальные задачи (local tasks) и по-умолчанию отображаются как вкладки (хотя и есть возможность представить их по-другому). Локальные задачи работают также, как и другие пункты меню во многих аспектах.

Реализуются с помощью типов MENU_DEFAULT_LOCAL_TASK и MENU_LOCAL_TASK:
/**
 * Implements hook_menu().
 */
function mymodule_menu() {
  // описание первой вкладки и по совместительству пункта меню
  $items['admin/settings/mymodule'] = array(
    'title' => 'MyModule',             // заголовок страницы, будет выводится во всех вкладках, обязательный параметр
    'page callback' => ...,            // callback первой вкладки, обязательный параметр
    'access arguments' => ...,         // разрешения на просмотр дефолтной вкладки, обязательный параметр
    'type' => MENU_NORMAL_ITEM,        // пункт будет отображаться в меню
  );
 
  // описание дефолтной вкладки
  $items['admin/settings/mymodule/settings'] = array(
    'title' => 'Settings',             // не переведённое название первой вкладки
    'type' => MENU_DEFAULT_LOCAL_TASK, // пункт будет отображаться как локальная задача по умолчанию, т.е. выделяться при просмотре страницы "admin/settings/mymodule"
  );
 
  // описание второй вкладки
  $items['admin/settings/mymodule/items'] = array(
    'title' => 'Items',                // не переведённое название второй вкладки
    'page callback' => ...,            // callback второй вкладки
    'access arguments' => ...,         // разрешения на просмотр второй вкладки, обязательный параметр
    'type' => MENU_LOCAL_TASK,         // пункт будет отображаться как локальная задача
    'weight' => 2,                     // вес вкладки в списке вкладок
  );
 
  // описание третьей вкладки
  $items['admin/settings/mymodule/add_item'] = array(
    'title' => 'Add item',
    'page callback' => ...,
    'access arguments' => ...,
    'type' => MENU_LOCAL_TASK,
    'weight' => 3,
  );
 
  return $items;
}

Написанное актуально для
Drupal 6, Drupal 7
Теги:
работа с меню
Добавлено: 26 Июля 2018 07:18:10 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...