Lors de l'ajout d'un élément de menu dans les vues, je vois trois sélections ambiguës
Entrée de menu normale
Onglet de menu
Onglet de menu par défaut
Quelle est la différence et quand dois-je les utiliser?
Ils correspondent au type
paramètre des articles retournés dehook_menu()
Entrée de menu normale = MENU_NORMAL_ITEM
Type de menu - Un élément de menu "normal" affiché dans le menu et le fil d'Ariane.
Les éléments de menu normaux apparaissent dans l'arborescence des menus et peuvent être déplacés / masqués par l'administrateur. Utilisez-le pour la plupart des éléments de menu. Il s'agit de la valeur par défaut si aucun type d'élément de menu n'est spécifié.
Type de menu - Une tâche spécifique à l'élément parent, généralement rendue sous forme d'onglet. Les tâches locales sont des éléments de menu qui décrivent les actions à effectuer sur leur élément parent. Un exemple est le chemin "node / 52 / edit", qui effectue la tâche "edit" sur "node / 52".
Onglet de menu par défaut = MENU_DEFAULT_LOCAL_TASK
Type de menu - La tâche locale "par défaut", qui est initialement active.
Chaque ensemble de tâches locales doit fournir une tâche "par défaut", qui est liée au même chemin que son parent lorsqu'elle est cliquée.
Le meilleur exemple auquel je pense est celui des pages de nœuds. Lorsque vous visitez une page de nœud, l'onglet «Affichage» est fourni par un élément de menu de type MENU_DEFAULT_LOCAL_TASK
(voir $items['node/%node/view']
dans node_menu()
).
Il n'a pas de chemin en tant que tel (il hérite de l'élément de menu parent), il ne sert qu'à permettre à la page de nœud d'avoir un onglet parmi les groupes d'onglets `` réels '', qui sont définis avec MENU_LOCAL_TASK
.
node/%node/mypath
et choisiriez "l'onglet Menu". L'onglet "Menu par défaut" intervient lorsque vous définissez la valeur par défaut pour un groupe d'onglets, comme dans l'exemple de page de nœud.node/[nid]/view
etnode/[nid]
résolvez sur la même page - le seul but du premier est de vous assurer que l'onglet est visible lorsque vous visitez le dernier. Plus clair? C'est assez difficile à expliquer