我迫切需要帮助。我正在尝试在Drupal 7中自定义主菜单(仅限),以便它符合我对blueprintcss的需求。我试图在文档中找到答案,但没有直截了当的例子,这使得它有点困难。
基本要求是让其他菜单(导航等)不受主菜单样式的影响。
我的 page.tpl.php 包含以下代码:
<?php if ($main_menu): ?>
<div class="span-9" id="topmenu">
<?php print theme('links__system_main_menu', array(
'links' => $main_menu,
'attributes' => array(
'id' => 'main-menu',
'class' => array('links', 'inline', 'clearfix'),
),
)); ?>
</div>
<?php endif; ?>
输出显示:
<div class="span-9" id="topmenu">
<ul id="main-menu" class="links inline clearfix">
<li class="menu-151 first"><a href="/drupal/" title="">Home</a></li>
<li class="menu-152"><a href="/drupal/" title="">Contact Us</a></li>
<li class="menu-153 last"><a href="/drupal/" title="">About Us</a></li>
</ul>
</div>
而期望的输出应该是这样的:
<div class="span-9" id="topmenu">
<div class="span-3 menu-151"><a href="/drupal/" title="">Home</a></div>
<div class="span-3 menu-152"><a href="/drupal/" title="">Contact Us</a></div>
<div class="span-3 menu-153 last"><a href="/drupal/" title="">About Us</a></div>
</div>
答案 0 :(得分:3)
您可以覆盖主题功能以修改生成的标记。
实现这一目标:
theme_links__system_main_menu
)。phptemplate
或自定义模块中完成)divs
代替ul li
请参阅官方Drupal文档:Overriding themable output“如何以Drupal方式更改HTML”部分