Вывести на странице/в блоке подменю (submenu) drupal7
09.08.2015
Чтобы вывести подменю на странице или в блоке, можно воспользоваться следующим кодом:
<?php
$vars['submenu'] = FALSE;
$menu_tree = menu_tree('main-menu');
$active_trail = menu_get_active_trail();
$active_trail_mlid = $active_trail[1]['mlid'];
if( array_key_exists($active_trail_mlid, $menu_tree) ) {
$vars['submenu'] = $menu_tree[$active_trail_mlid]['#below'];
}
$menul = array();
if($vars['submenu'] != FALSE) {
foreach($vars['submenu'] as $vars_key => $vars_item){
if(is_numeric($vars_key)){
$menul['menu-'.$vars_key ]['node_type'] = 'page';
$menul['menu-'.$vars_key ]['langcode'] = $vars_item['#localized_options']['langcode'];
$menul['menu-'.$vars_key ]['attributes']['title'] = $vars_item['#title'];
$menul['menu-'.$vars_key ]['href'] = $vars_item['#href'];
$menul['menu-'.$vars_key ]['title'] = $vars_item['#title'];
}
}
print '<aside>'.theme('links', array('links' => $menul, 'attributes' => array('class'=> array('sub-menu')) )).'</aside>';
}
else
{
print '';
}
?>
Или
<?php
$menu_array = menu_navigation_links('menu-left-catalog', $depth);
print theme('links', array(
'links' => $menu_array,
'attributes' => array(
'class' => array('menu'),
),));
