首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal7-在站点上以编程方式切换菜单

问Drupal7-在站点上以编程方式切换菜单
EN

Stack Overflow用户
提问于 2011-12-05 22:02:30
回答 2查看 1.1K关注 0票数 1

在Drupal7中,我希望有一个站点,它有不同的部分,带有一个左侧导航菜单,可以根据您所在的页面进行切换。例如,我想要一个顶层的导航,它会带你到一个部分,然后在那个部分的菜单是唯一的。我假设我必须在我的template.php文件中创建一个主题函数来处理这个问题。有人能告诉我如何开始编码吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-05 22:15:31

我不能百分之百确定我是否理解了您的意思,但是如果我理解了,那么您可以使用菜单块模块- http://drupal.org/project/menu_block

如果你说的是级别,:

如果你有一个有多个级别的菜单,但是只想在页面上显示第二级,比如父项目有第二级,那么你可以去structure -> block -> new菜单块,然后选择你想要的菜单,从哪个菜单级别开始菜单,然后将它添加到你想要作为常规块的位置。

下面是一个例子:

代码语言:javascript
复制
    <ul class="menu">
       <li>Menu item 1</li> 
       <li>Menu item 2</li> 
          <ul class="menu"> 
             <li>Menu item</li> 
             <li>Menu item</li> 
          </ul> 
       <li>Menu item 3</li> 
       <li>Menu item 4</li> 
       <li>Menu item 5</li> 
    </ul>

您的主菜单将只显示第一级的菜单项。

您的菜单块将被设置为仅从第二级开始,因此如果您在菜单项2的页面上,您的菜单块将显示第二级菜单项。

如果你不是在谈论级别,那就使用:

您可以创建单独的菜单块,然后将其设置为仅显示在某些页面上,方法是转到块的可见性设置,然后键入要显示的页面的节点别名,然后从单选按钮中选择“只显示列出的页面”。

票数 4
EN

Stack Overflow用户

发布于 2011-12-07 02:20:33

我会使用Context来解决你的问题,而不是使用@SpaceBeers建议

  • 我会为每个不同的页面定义一个不同的菜单。
  • 使用上下文,您可以将每个部分与一个菜单相关联。您将为每个section.
  • Inside定义一个单独的上下文,您将在上下文的规则中指定该节的相对路径。然后,在上下文反应中,您将选择由菜单自动创建的Drupal块。

另外,因为上下文是可导出的,所以您可以将它们打包到一个Feature中,将该功能提交到您的源代码库中,并将其部署到您的DEV、QA和PROD框中,而无需手动将菜单/块定位设置从一个服务器复制到另一个服务器。换句话说,从长远来看,Context +Feature解决方案将提供一个更健壮和可伸缩的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8386451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档