web-dev-qa-db-ja.com

ビューでは、通常メニューエントリ、メニュータブ、デフォルトメニュータブの違いは何ですか

ビューにメニュー項目を追加すると、曖昧な3つの選択が表示されます

通常のメニューエントリ

メニュータブ

デフォルトのメニュータブ

違いは何ですか?いつ使用しますか?

enter image description here

18
Nigel Waters

それらは hook_menu() から返されるアイテムのtypeパラメータに対応します

  • 通常のメニューエントリ= MENU_NORMAL_ITEM

    メニュータイプ-メニューとブレッドクラムに表示される「通常の」メニュー項目。

    通常のメニュー項目はメニューツリーに表示され、管理者が移動/非表示にできます。ほとんどのメニュー項目にこれを使用します。メニュー項目タイプが指定されていない場合、これがデフォルト値です。

  • メニュータブ= MENU_LOCAL_TASK

    メニュータイプ-通常はタブとしてレンダリングされる、親アイテムに固有のタスク。ローカルタスクは、親アイテムで実行されるアクションを説明するメニューアイテムです。例は、「node/52」で「編集」タスクを実行するパス「node/52/edit」です。

  • デフォルトのメニュータブ= MENU_DEFAULT_LOCAL_TASK

    メニュータイプ-最初にアクティブになる「デフォルト」のローカルタスク。

    ローカルタスクのすべてのセットは、クリックされたときに親と同じパスにリンクする1つの「デフォルト」タスクを提供する必要があります。

私が考えることができる最も良い例はノードページです。ノードページにアクセスすると、[表示]タブに_MENU_DEFAULT_LOCAL_TASK_タイプのメニュー項目が表示されます( node_menu() の_$items['node/%node/view']_を参照)。

それ自体にはパスがありません(親メニュー項目から継承します)。これは、_MENU_LOCAL_TASK_で定義された「実際の」タブのグループの中でノードページにタブを持たせることだけを目的としています。 。

14
Clive