我的公司接管了网站的维护,我正在尝试确定如何正确获取顶级(父级)链接以及子链接。正在使用的代码是:
<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大师吗?
注意:将父链接设置为“Show as expanded”不起作用。
答案 0 :(得分: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')));
答案 1 :(得分:0)
更新
上面的代码吐了一个错误,所以我正在这样做。
theme_preprocess_page(&amp; $ vars)函数中的template.php
//Render main menu
$main_menu_tree = menu_tree(variable_get('menu_main_links_source', 'main-menu'));
$vars['main_menu'] = $main_menu_tree;
然后我使用
在page.tpl.php中显示菜单 <div id="monav">
<?php
print render($main_menu);
?>
</div>
要使此菜单移动,我添加了以下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;
}