如何在drupal 7中输出单个菜单链接,知道它的$ mlid?

时间:2014-05-30 15:49:41

标签: drupal drupal-7 drupal-navigation

我正在使用具有固定父项的菜单块,因此只有子项被渲染...但我想渲染父链接。我能够获得父母的$ mlid,但这是我能得到的。 theme_menu_link抛出一个错误,因为menu_link_load返回一个像[title] [href]这样的键的数组,而不是像theme_menu_link那样的[#title] [#href]。有人能告诉我如何渲染单个菜单链接的输出吗?谢谢!

function mytheme_preprocess_region(&$vars){
    if($vars['region'] == "footer-top"){
            foreach($vars['elements'] as $key => $item){
                    if(array_key_exists('#block', $item)){
                            $block_type = $item['#block']->module;
                            if($block_type == "menu_block"){
                                    $plid = $item['#config']['parent_mlid'];
                                    $parent_menu_link = menu_link_load($plid);
                                    $parent = theme('menu_link', $parent_menu_link);

                                    $output .= '<section>' ./* $parent .*/ $vars['elements'][$key]['#children'] . '</section>';
                            }
                    }
            }
            $vars['content'] = $output;             
    }
}

1 个答案:

答案 0 :(得分:0)

如果您只想要链接,可以这样做:

$parent_menu_link = menu_link_load($plid);
$parent = l($parent_menu_link['title'], $parent_menu_link['href'], $parent_menu_link['localized_options']);

$output .= '<section>' . $parent . $vars['elements'][$key]['#children'] . '</section>';

干杯,