我想显示我的主菜单链接以及具有单个类和id的子菜单链接。
这适用于第1级链接但不幸的是没有显示第二级链接,因为$ main_menu值不包含它们:
<?php print theme('links', array(
'links' => $main_menu,
'attributes' => array(
'id' => 'mobile-menu-links',
'class' => array('links', 'clearfix'),
),
)); ?>
任何想法?
答案 0 :(得分:0)
您可以使用子菜单获取主菜单并按照以下方式进行操作:
$main_menu_tree = menu_tree('main-menu');
foreach ($main_menu_tree as $key => &$main_menu_item) {
if (is_numeric($key)) {
$main_menu_item['#below']['#theme_wrappers'][0] = 'some_other_theme_wrapper';
}
}
print drupal_render($main_menu_tree);
这里默认主题包装器(menu_tree__main_menu)被some_other_theme_wrapper替换,需要实现。
你应该在drupal stackexchange上找到一些讨论这个的帖子。这只是一个:
https://drupal.stackexchange.com/questions/35066/i-want-to-customze-menu-tree-output
您还可以单独渲染主菜单和子菜单:
<div class="menu">
<?php print theme('links__system_main_menu', array(
'links' => $main_menu,
'attributes' => array(
'id' => 'main-menu-links',
),
'heading' => array(
'text' => t('Main menu'),
'level' => 'h2',
'class' => array('element-invisible'),
),
)); ?>
</div>
<?php endif;?>
<?php if ($secondary_menu): ?>
<div class="submenu">
<?php print theme('links__system_secondary_menu', array(
'links' => $secondary_menu,
'attributes' => array(
'id' => 'secondary-menu-links',
),
'heading' => array(
'text' => t('Sub menu'),
'level' => 'h2',
'class' => array('element-invisible'),
),
))
</div>