我是Drupal的新手。我正在嘗試開發一個引導程序3模板,但我在導航欄下拉菜單實施中遇到了問題。我按照這些步驟:Drupal 7引導下拉菜單
在我的MyTheme/模板文件夾中創建包含下面的代碼文件page.tpl.php中:我創建具有這些功能的template.php文件中MyTheme的文件夾中
if ($page['header'])
...
$main_menu = variable_get('menu_main_links_source', 'main-menu');
$tree = menu_tree($main_menu);
print drupal_render($tree);
...
:
function mytheme_menu_tree($variables) {
return '<ul class="nav navbar-nav">' . $variables['tree'] . '</ul>';
}
function mytheme_menu_link(array $variables) {
$element = $variables['element'];
$sub_menu = '';
$dropdown = '';
if ($element['#below']) {
$sub_menu = drupal_render($element['#below']);
$dropdown = 'class="dropdown"';
$element['#localized_options']['attributes']['class'][] = 'dropdown-toggle';
}
$output = l($element['#title'], $element['#href'], $element['#localized_options']);
return '<li ' .$dropdown. ' >' . $output . $sub_menu . "</li>\n";
}
與此代碼我在一個好點,但我需要從兒童類中刪除「NAV導航欄,導航」,並添加類「下拉菜單」。 這是我的代碼的結果:
<ul class="nav navbar-nav">
<li><a href="/drupal/node/1" class="active">XYZ</a></li>
<li><a href="/drupal/node/2" title="">ASD</a></li>
<li class="dropdown"><a href="/drupal/node/3" title="" class="dropdown-toggle">XXX</a>
<ul class="nav navbar-nav">
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</li>
</ul>
,這是我想什麼來獲得:
<ul class="nav navbar-nav">
<li><a href="/drupal/node/1" class="active">XYZ</a></li>
<li><a href="/drupal/node/2" title="">ASD</a></li>
<li class="dropdown"><a href="/drupal/node/3" title="" class="dropdown-toggle">XXX</a>
<ul class="dropdown-menu"> <!-- HERE IS THE DIFFERENCE -->
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</li>
</ul>
也許我可以做這樣的事情:
function mytheme_menu_tree($variables) {
if ([check if I'm at the first level]) {
return '<ul class="nav navbar-nav">' . $variables['tree'] . '</ul>';
} else {
return '<ul class="dropdown-menu">' . $variables['tree'] . '</ul>';
}
}
,但我不知道如何......任何想法?