2016-07-12 57 views
0

我的公司接管了網站的維護,並且正在嘗試確定如何正確獲取頂級(父級)鏈接以及子鏈接。這是正在使用的代碼是:Drupal 7中的自定義移動菜單無法訪問子鏈接

<div id="monav"> 
<ul> 
    <?php 
$mobile_menu = menu_navigation_links('menu-mobile-nav'); 
print theme('links__menu_mobile_nav', array('links' => $mobile_menu)); 

    ?> 
    </ul> 

這隻吐出頂層。我一直在挖掘論壇和代碼,試圖找到獲取子鏈接的正確方法。你能指出我正確的方向嗎?明智的Drupal大師?

注意:將父鏈接設置爲「顯示爲展開」不起作用。

回答

0

更新:

上面的代碼正在吐出一個錯誤,所以我正在做這個。

的template.php在theme_preprocess_page(& $瓦爾)功能

//Render main menu 
$main_menu_tree = menu_tree(variable_get('menu_main_links_source', 'main-menu')); 
$vars['main_menu'] = $main_menu_tree; 

然後我使用

<div id="monav"> 
    <?php 
     print render($main_menu); 
    ?> 
</div> 

爲了使這個菜單的移動,我添加顯示在page.tpl.php中的菜單以下jquery

(function ($) { 

$(document).ready(function(){ 
//Mobile Navigation 
$('#nav-toggle').click(function(e) { 
    $('#monav').toggle(); 
}); 
$('#monav li.expanded > a').attr("href", "#"); 
$("#monav li.expanded").click(function() { 

    $(this).find('.menu').toggle(); 

    }); 
}); 

})(jQuery); 

注意我不得不隱藏在我的css

#monav ul.menu li.expanded .menu{ 
display:none; 
} 
0

我結束了使用此代碼:

在我的template.php有

//Render Mobile 
function drive_menu_tree__menu_mobile_nav($variables){ 
    return '<ul class="" id="">' . $variables['tree'] . '</ul>'; 
} 


function drive_menu_links__menu_mobile_nav($variables) { 
    $element = $variables['element']; 
    $sub_menu = ''; 

    if ($element['#below']) { 
     $sub_menu = drupal_render($element['#below']); 
    } 
    $output = l($element['#title'], $element['#href'], $element['#localized_options']); 
    return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n"; 
} 

然後我用顯示page.tpl.php中的菜單:

print drupal_render(menu_tree_output(menu_tree_all_data('menu-mobile-nav'))); 

來源: How to display a menu in a template file?