При добавлении пункта меню в представлениях я вижу три выбора, которые неоднозначны
Обычный пункт меню
Вкладка меню
Вкладка меню по умолчанию
Какая разница и когда я буду использовать каждый?
При добавлении пункта меню в представлениях я вижу три выбора, которые неоднозначны
Обычный пункт меню
Вкладка меню
Вкладка меню по умолчанию
Какая разница и когда я буду использовать каждый?
Ответы:
Они соответствуют type
параметру предметов, возвращаемых изhook_menu()
Обычный пункт меню = MENU_NORMAL_ITEM
Тип меню - «обычный» пункт меню, который отображается в меню и в сухарях.
Обычные пункты меню отображаются в дереве меню и могут быть перемещены / скрыты администратором. Используйте это для большинства пунктов меню. Это значение по умолчанию, если тип пункта меню не указан.
Тип меню - задание, относящееся к родительскому элементу, которое обычно отображается в виде вкладки. Локальные задачи - это пункты меню, которые описывают действия, выполняемые над их родительским элементом. Примером является путь «node / 52 / edit», который выполняет задачу «edit» на «node / 52».
Вкладка меню по умолчанию = MENU_DEFAULT_LOCAL_TASK
Тип меню - локальная задача «по умолчанию», которая изначально активна.
Каждый набор локальных задач должен предоставлять одну задачу «по умолчанию», которая при нажатии ссылается на тот же путь, что и его родитель.
Лучший пример, который я могу придумать, это страницы узлов. Когда вы посещаете страницу узла, вкладка «Вид» предоставляется элементом меню типа MENU_DEFAULT_LOCAL_TASK
(см. $items['node/%node/view']
В node_menu()
).
У него нет пути как такового (он наследуется от родительского пункта меню), его единственная цель - позволить странице узла иметь вкладку среди групп «реальных» вкладок, которые определены с помощью MENU_LOCAL_TASK
.
node/%node/mypath
и выбрали «вкладка меню». «Вкладка меню по умолчанию» появляется, когда вы устанавливаете значение по умолчанию для группы вкладок, как в примере страницы узла. node/[nid]/view
и node/[nid]
перейдите на ту же страницу - единственная цель первого состоит в том, чтобы убедиться, что вкладка видна, когда вы посещаете последний. Есть яснее? Это довольно сложно объяснить