在Drupal 8中打印第二级菜单

时间:2014-02-17 16:52:47

标签: drupal twig drupal-8

Drupal 8标记使用Twig引擎从Drupal 7改变了很多。我们正在开发一个网站。我们想在那里打印第二级菜单链接。

  {% if main_menu %}
  <nav id ="main-menu" class="navigation" role="navigation">
      {{ main_menu }}
  </nav> <!-- /#main-menu -->

这就是我们在Drupal 8中打印菜单的方法。一种不常用的语法。

我怎么打印。菜单上的二级链接。还是菜单树?

3 个答案:

答案 0 :(得分:3)

根据template_preprocess_page(),你也可以访问secondary_menu,所以:

{% if secondary_menu %}
  <nav id ="secondary-menu" class="navigation" role="navigation">
      {{ secondary_menu }}
  </nav>
{% endif %}

一般来说,您可以使用preprocess hook添加变量。在这种情况下,这将是:

function MYTHEME_preprocess_page(&$vars) {
  $vars['foo'] = 'bar'; // foo is available in the page template file
}

答案 1 :(得分:2)

根据您使用的主题,可能是菜单模板没有问题。在我的例子中,(主)菜单被配置为在块设置中仅显示一个级别。

我偶然发现,以下是如何改变它:

  1. 转到https://<yourdrupalpage>/admin/structure/block
  2. 在相应的菜单栏项目(例如主菜单)上,单击 configure
  3. 根据需要调整可见菜单级别数
  4. 这应该是技巧

答案 2 :(得分:1)

我做了Stephan Richter的建议,但我忘了检查&#34;始终显示打开&#34;菜单项level1中的等效选项

因此,如果您希望显示第2级,请不要忘记父级中的此选项。