Как мне вывести единственную ссылку меню в drupal 7, зная, что это $ mlid?

Я использую блоки меню с фиксированными родителями, и из-за этого отображаются только дочерние элементы ... но я хотел бы отобразить родительские ссылки. Я могу получить $ mlid родителя, но это все, что я могу. theme_menu_link выдает ошибку, потому что menu_link_load возвращает массив с такими ключами, как [title] [href], вместо [#title] [#href], как ожидает theme_menu_link. Может кто-нибудь сказать мне, как отобразить вывод одной ссылки меню? Спасибо!

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;             
    }
}

person user3408649    schedule 30.05.2014    source источник


Ответы (1)


Если вам просто нужна ссылка, вы можете просто сделать:

$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>';

Ваше здоровье,

person enzipher    schedule 31.05.2014