Как вывести одну ссылку меню в 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;             
    }
}

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

Ура,

Другие вопросы по тегам