7

我似乎无法显示我的子菜单。

我去了:首页 » 管理 » 结构 » 菜单

然后,我编辑了父菜单并选中了“显示为扩展”的复选框 - 但仍然没有。

我所指的导航的page.tpl.php页面上的代码如下:

<?php
if ($page['navigation'] || $main_menu): 
?>

<?php
 print theme('links__system_main_menu', array(
          'links' => $main_menu,
          'attributes' => array(
            'id' => 'nav',
            'class' => array('links', 'clearfix'),
          ),
          'heading' => array(
            'text' => t('Main menu'),
            'level' => 'h2',
            'class' => array('element-invisible'),
          ),
        )); 
?>

<?php
 print render($page['navigation']); 
?>
<?php
 endif; 
?>

我究竟做错了什么?

任何帮助将不胜感激。

4

3 回答 3

15

确保选中父菜单“显示为扩展”属性。

转到admin/structure/menu/item/MENU_ITEM_ID/edit,然后选中“显示为展开状态”

于 2012-04-10T14:49:09.390 回答
6

除了使用 $main_menu 变量之外,您还可以使用由菜单生成的main-menu 块

如果将“主菜单”块放入 admin/structure/block 的“导航”区域,则 page.tpl.php 中的 print render($page['navigation']) 将打印出完整的菜单,包括其子菜单菜单项(儿童)。

只需确保在父菜单链接中勾选“显示为展开”选项即可。

最后,删除“打印主题”的东西,否则你最终会得到双菜单。

page.tpl.php 看起来像这样:

<?php if ($page['navigation']): ?>
  <div id="navigation"><div class="section clearfix">  
    <?php print render($page['navigation']); ?>        
  </div></div><!-- /.section, /#navigation -->
<?php endif; ?>  
于 2011-08-05T13:39:02.623 回答
2

开箱即用的鲜明主题也不会在其主菜单中显示子菜单 (2011/04)。

但是,如果您转到 admin/structure/blocks,并将菜单块拖到鲜明主题的标题区域,它有子菜单。

然后,您还将有两个菜单,一个没有子菜单的原始菜单和一个有子菜单的新菜单。您可以在 admin/appearance/stark/settings 中禁用原来的那个。

$2c, *-派克

于 2011-04-06T21:05:20.803 回答