Добрый день.
Хочу создать табы (вкладки) и в них свои подпункты. Пример кода в реализации hook_menu:
<?php
function mymodule_menu() { // Реализация hook_menu()
$items = array();
$items['mymodule'] = array(
'title' => 'Main menu',
'page callback' => 'example_build_page',
'access callback' => 'example_permissons_page',
'page arguments' => array(),
'type' => MENU_NORMAL_ITEM
);
$items['mymodule/submenu_1'] = array(
'title' => 'submenu 1',
'page callback' => 'example_build_page',
'access callback' => 'example_permissons_page',
'page arguments' => array(),
'type' => MENU_LOCAL_TASK
);
$items['mymodule/submenu_2'] = array(
'title' => 'submenu 2',
'page callback' => 'example_build_page',
'access callback' => 'example_permissons_page',
'page arguments' => array(),
'type' => MENU_LOCAL_TASK
);
$items['mymodule/submenu_3'] = array(
'title' => 'submenu 3',
'page callback' => 'example_build_page',
'access callback' => 'example_permissons_page',
'page arguments' => array(),
'type' => MENU_LOCAL_TASK
);
$items['mymodule/submenu_3/subsubmenu_1'] = array(
'title' => 'sub submenu 1',
'page callback' => 'example_build_page',
'access callback' => 'example_permissons_page',
'page arguments' => array(),
'type' => MENU_LOCAL_ACTION
);
$items['mymodule/submenu_3/subsubmenu_2'] = array(
'title' => 'sub submenu 2',
'page callback' => 'example_build_page',
'access callback' => 'example_permissons_page',
'page arguments' => array(),
'type' => MENU_LOCAL_ACTION
);
$items['mymodule/submenu_3/subsubmenu_3'] = array(
'title' => 'sub submenu 3',
'page callback' => 'example_build_page',
'access callback' => 'example_permissons_page',
'page arguments' => array(),
'type' => MENU_LOCAL_ACTION
);
$items['mymodule/submenu_3/subsubmenu_4'] = array(
'title' => 'sub submenu 4',
'page callback' => 'example_build_page',
'access callback' => 'example_permissons_page',
'page arguments' => array(),
'type' => MENU_LOCAL_ACTION
);
return $items;
}
?>
Когда путь (первичная вложенность) /mymodule, то табы отображаются, всё в порядке. Когда путь (вторичная вложенность, пункт MENU_LOCAL_TASK) /mymodule/submenu_1 или /mymodule/submenu_2 или /mymodule/submenu_3, то тоже всё в порядке. Но когда путь (третичная вложенность, подпункт MENU_LOCAL_ACTION) становится, например, таким /mymodule/submenu_3/subsubmenu_1, то на странице не видно ни пунктов MENU_LOCAL_TASK, ни подпунктов MENU_LOCAL_ACTION.
Подскажите, пожалуйста, как сделать так, что бы в MENU_LOCAL_ACTION увидеть все пункты и все подпункты?
Комментарии
Нашел решение проблемы.
Способ 1:
<?php
$items['mymodule']['type'] = MENU_DEFAULT_LOCAL_TASK
?>
Способ 2:
Заменить у всех элементов $items константы с MENU_LOCAL_ACTION на MENU_LOCAL_TASK