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