为什么我的drupal 7子菜单不显示?

Nic*_*ick 7 drupal drupal-7 drupal-theming drupal-navigation

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

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

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

我所指的导航的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; 
?>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

任何帮助将不胜感激.

Muh*_*eda 15

确保选中父菜单"显示为展开"属性.

转到admin/structure/menu/item/MENU_ITEM_ID/edit,然后选中"显示为扩展"


m4r*_*nos 6

您可以使用通过菜单生成的主菜单块,而不是使用$ main_menu变量.

如果您将"主菜单"块放入admin/structure/block的"导航"区域,则在page.tpl.php中打印渲染($ 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; ?>  
Run Code Online (Sandbox Code Playgroud)


com*_*ike 2

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

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

然后您还会有两个菜单,一个是没有子菜单的原始菜单,另一个是带有子菜单的新菜单。您可以在 admin/appearance/stark/settings 中禁用原始的。

$2c,*-派克