我正在将Twitter的Bootstrap顶部菜单调整为Drupal菜单系统。直到现在,没有成功。我正在使用Drupal模块nicemenus在下拉列表中显示它们。
这是使用Bootstrap的css手工制作的菜单列表:
<div class="navbar navbar-fixed-top">
<div class="navbar-inner" style="padding-left: 0px;">
<div class="container">
<ul class="nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown 1
<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#"><i class="icon-star"></i> Item 1</a></li>
<li><a href="#"><i class="icon-star"></i> Item 2</a></li>
</ul>
</li>
<li><a href="#">Normal Menu Link without dropdown</a></li>
</ul>
</div>
</div>
</div>
这是带有nicemenus的Menu输出,正如你所看到的,Bootstrap更容易理解。
<div id="block-nice-menus-1" class="block block-nice-menus block-1 block-nice-menus-1 odd block-without-title">
<div class="block-inner clearfix">
<div class="content clearfix">
<ul id="nice-menu-1" class="nice-menu nice-menu-down sf-js-enabled">
<li class="menu-5674 menu-path-liganetnet first odd"><a href="">Link without Dropdowns</a></li>
<li class="menu-267 menuparent menu-path-front even"><a style="dropdown" class="dropdown active" href="/">Dropdown Link 1</a>
<ul style="display: none; visibility: hidden;">
<li class="menu-2280 menu-path-node-196 first odd "><a href="">Item 1</a></li>
<li class="menu-270 menu-path-node-197 even "><a title="" href="">Item 2</a></li>
<li class="menu-271 menu-path-node-1464 odd last "><a title="" href="">Item 3</a></li>
</ul>
</li>
<li class="menu-268 menuparent menu-path-front odd"><a class="active" href="/">Dropdown Link 2</a>
<ul style="display: none; visibility: hidden;">
<li class="menu-274 menu-path-node-214 first odd "><a title="" href="">Item 1</a></li>
<li class="menu-273 menu-path-node-213 even "><a title="" href="">Item 2</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
我已经安装了menu_attributes模块,但是当我向它添加一些类时,它们只会添加到标签中。如何以编程方式转换这些 css 类?
做一个print_r(),我发现这个:
[sidebar_second] => Array
(
[nice_menus_1] => Array
(
[#markup] =>
Link 1 without Dropdown
Dropdown 1
Dropdown 2
Dropdown 3
[#contextual_links] => Array
(
[block] => Array
(
[0] => admin/structure/block/manage
[1] => Array
(
[0] => nice_menus
[1] => 1
)
)
)
[#block] => stdClass Object
(
[module] => nice_menus
[delta] => 1
[theme] => liganet
[status] => 1
[weight] => -62
[region] => sidebar_second
[custom] => 0
[visibility] => 0
[pages] =>
[title] =>
[bid] => 744
[cache] => -1
[subject] =>
)
我认为可以使用在页面模板中打印的父菜单变量来完成,然后在类中打印子变量?我如何使用 php 做到这一点?
感谢您的帮助!
我做了模块,因为我有同样的问题。
请按照以下步骤操作:
第 1 步。
从 https//drupal.org/sandbox/m_roji28/2081231 安装模块bootstrap_components
从 https//drupal.org/project/menu_block 安装模块菜单块
第 2 步。
添加一个菜单块,并记住菜单块 ID(菜单块的增量)。例如,如果菜单块的 url 配置如下:admin/structure/block/manage/menu_block/1/configure,则表示菜单块 id 为 1
第 3 步。
假设您的主题是 Bartik,因此在 Bartik 的模板中添加此行.php
<?php
function bartik_menu_link__menu_block__1(&$variables) {
// set options below
$options = array('component' => 'button_dropdowns');
// stop, and enjoy
if(module_exists('bootstrap_components')){
$pra_options = array();
if(isset($variables['element']['#localized_options']['bootstrap_components'])) $pra_options = $variables['element']['#localized_options']['bootstrap_components'];
$variables['element']['#localized_options']['bootstrap_components'] = $options + $pra_options;//wajib ada index bootstrap_components
return theme_bootstrap_components_menu_link($variables);
}
else return theme_menu_link($variables);
}?>
步骤完成。
现在,您的菜单块将从
<ul class="menu clearfix"><li class="first leaf menu-mlid-611"><a style="f" class="e" rel="d" name="c" id="b" title="q" href="http://en.wikipedia.org/wiki/Sukarno"><i class="icon-camera-retro"></i>Sukarno</a></li>
<li class="leaf menu-mlid-612"><a title="" href="http://en.wikipedia.org/wiki/Suharto"><i class="icon-globe"></i>Suharto</a></li>
<li class="leaf menu-mlid-613"><a title="" href="http://en.wikipedia.org/wiki/B._J._Habibie"><i class="icon-compass"></i>B. J. Habibie</a></li>
<li class="leaf menu-mlid-614"><a title="" href="http://id.wikipedia.org/wiki/Abdurrahman_Wahid"><i class="icon-bolt"></i>Abdurrahman Wahid</a></li>
<li class="leaf menu-mlid-615"><a title="" href="http://en.wikipedia.org/wiki/Megawati_Sukarnoputri"><i class="icon-female"></i>Megawati Sukarnoputri</a></li>
<li class="last leaf menu-mlid-616"><a title="" href="http://en.wikipedia.org/wiki/Susilo_Bambang_Yudhoyono"><i class="icon-bug"></i>Susilo Bambang Yudhoyono</a></li>
</ul>
自
<div class="btn-group-vertical">
<button type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/Sukarno'" style="f" class="e btn btn-default" rel="d" name="c" id="b" title="q"><i class="icon-camera-retro"></i>Sukarno</button>
<button class="btn btn-default" type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/Suharto'" title="http://en.wikipedia.org/wiki/Suharto"><i class="icon-globe"></i>Suharto</button>
<button class="btn btn-default" type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/B._J._Habibie'" title="http://en.wikipedia.org/wiki/B._J._Habibie"><i class="icon-compass"></i>B. J. Habibie</button>
<button class="btn btn-default" type="button" onclick="window.location.href='http://id.wikipedia.org/wiki/Abdurrahman_Wahid'" title="http://id.wikipedia.org/wiki/Abdurrahman_Wahid"><i class="icon-bolt"></i>Abdurrahman Wahid</button>
<button class="btn btn-default" type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/Megawati_Sukarnoputri'" title="http://en.wikipedia.org/wiki/Megawati_Sukarnoputri"><i class="icon-female"></i>Megawati Sukarnoputri</button>
<button class="btn btn-default" type="button" onclick="window.location.href='http://en.wikipedia.org/wiki/Susilo_Bambang_Yudhoyono'" title="http://en.wikipedia.org/wiki/Susilo_Bambang_Yudhoyono"><i class="icon-bug"></i>Susilo Bambang Yudhoyono</button>
</div>