「menu_navigation_links」を使用している関数は、単一レベルのリンクのみを表示します。メニュー ブロック モジュール ( https://www.drupal.org/project/menu_block ) を参照するか、以下の例のような機能を使用することをお勧めします。
/**
* Get a menu tree from a given parent.
*
* @param string $path
* The path of the parent item. Defaults to the current path.
* @param int $depth
* The depth from the menu to get. Defaults to 1.
*
* @return array
* A renderable menu tree.
*/
function _example_landing_get_menu($path = NULL, $depth = 1) {
$parent = menu_link_get_preferred($path);
if (!$parent) {
return array();
}
$parameters = array(
'active_trail' => array($parent['plid']),
'only_active_trail' => FALSE,
'min_depth' => $parent['depth'] + $depth,
'max_depth' => $parent['depth'] + $depth,
'conditions' => array('plid' => $parent['mlid']),
);
return menu_build_tree($parent['menu_name'], $parameters);
}
この関数は、特定の深さの特定の URL から始まるメニュー ツリーを返します。
次のコードは、現在のページを親として持つサブ メニューを生成し、深さ 2 までの子アイテムを表示します。
$menu = _example_landing_get_menu(NULL, 2);
print render($menu);