В представлениях, в чем разница между обычным входом в меню, вкладкой меню и вкладкой меню по умолчанию

19

При добавлении пункта меню в представлениях я вижу три выбора, которые неоднозначны

Обычный пункт меню

Вкладка меню

Вкладка меню по умолчанию

Какая разница и когда я буду использовать каждый?

введите описание изображения здесь

Найджел Уотерс
источник

Ответы:

14

Они соответствуют typeпараметру предметов, возвращаемых изhook_menu()

  • Обычный пункт меню = MENU_NORMAL_ITEM

    Тип меню - «обычный» пункт меню, который отображается в меню и в сухарях.

    Обычные пункты меню отображаются в дереве меню и могут быть перемещены / скрыты администратором. Используйте это для большинства пунктов меню. Это значение по умолчанию, если тип пункта меню не указан.

  • Вкладка меню = MENU_LOCAL_TASK

    Тип меню - задание, относящееся к родительскому элементу, которое обычно отображается в виде вкладки. Локальные задачи - это пункты меню, которые описывают действия, выполняемые над их родительским элементом. Примером является путь «node / 52 / edit», который выполняет задачу «edit» на «node / 52».

  • Вкладка меню по умолчанию = MENU_DEFAULT_LOCAL_TASK

    Тип меню - локальная задача «по умолчанию», которая изначально активна.

    Каждый набор локальных задач должен предоставлять одну задачу «по умолчанию», которая при нажатии ссылается на тот же путь, что и его родитель.

Лучший пример, который я могу придумать, это страницы узлов. Когда вы посещаете страницу узла, вкладка «Вид» предоставляется элементом меню типа MENU_DEFAULT_LOCAL_TASK(см. $items['node/%node/view']В node_menu()).

У него нет пути как такового (он наследуется от родительского пункта меню), его единственная цель - позволить странице узла иметь вкладку среди групп «реальных» вкладок, которые определены с помощью MENU_LOCAL_TASK.

Клайв
источник
Спасибо @Clive. Последние два все еще неоднозначны для меня. Как вы думаете, вы могли бы добавить пример каждого из них, чтобы определить, когда я буду использовать один над другим при создании страницы для моего представления?
Найджел Уотерс
У меня было идти, надеюсь , что это имеет смысл :)
Клайв
Извините, это все еще не для меня. Когда «Я» будет использовать их при создании вида?
Найджел Уотерс
1
Скажем, вы хотите добавить представление с nid в качестве контекстного фильтра, и вы хотите иметь вкладку для него на страницах узла ... вы бы задали путь как node/%node/mypathи выбрали «вкладка меню». «Вкладка меню по умолчанию» появляется, когда вы устанавливаете значение по умолчанию для группы вкладок, как в примере страницы узла. node/[nid]/viewи node/[nid]перейдите на ту же страницу - единственная цель первого состоит в том, чтобы убедиться, что вкладка видна, когда вы посещаете последний. Есть яснее? Это довольно сложно объяснить
Clive
Спасибо, что нашли время, Клайв. Я признателен за это. Я думаю, что получил это сейчас. Я дам ему немного времени, чтобы погрузиться. :)
Найджел Уотерс