【问题标题】:How to make parent menu active when the child menu was active in menu block using drupal 7?当子菜单在使用drupal 7的菜单块中处于活动状态时,如何使父菜单处于活动状态?
【发布时间】:2015-06-06 07:29:19
【问题描述】:

我已经创建了菜单及其子链接,例如

About
  contact us
  portfolio
  our location

我使用菜单块仅在单击时才显示子菜单并在另一层显示子菜单。

现在我的要求是当我单击父菜单中的任何子菜单时,父菜单应该处于活动状态。为了完成这项任务,我进行了很多搜索,并为此目的找到了菜单位置模块。我已经在限制页面中配置并指定了页面路径,但现在它正在工作。对于这个问题,我有什么错误或任何其他解决方案。请告诉我正确的解决方案。

<?php
    $block = module_invoke('menu_block', 'block_view', '1');
    print render($block['content']);
?>

我在顶栏菜单下方添加此代码。但在菜单栏包装内。

【问题讨论】:

  • @Manish - 如果您可以上传 MenuBlock 配置屏幕的屏幕截图会更容易。
  • 好的,我正在 page.tpl.php 中以编程方式显示菜单块。
  • @Manesh - 感谢您上传屏幕截图。请发布您用于显示菜单块的 page.tpl.php 中的代码 sn-p。我正在努力帮助您提供所有必需的信息,以便社区成员回答您的问题。
  • 好的。我正在更新我的问题。

标签: menu drupal-7


【解决方案1】:

如果我的理解清楚,那么您将需要这个菜单 - Menu Position https://www.drupal.org/project/menu_position

此模块允许创建规则,将当前页面动态添加到请求位置的菜单系统中。

如果您不想使用此模块,则需要在菜单链接的li 中附加menu-id,然后通过jquery/js 将某些类添加到父菜单项。

【讨论】:

  • 块显示正确,但问题是当我在菜单块中选择任何子项时,必须激活预选菜单。我搜索了很多东西,发现上下文和菜单位置可以做到。但就我而言,它不起作用。
  • 我已经尝试过这个模块,但是它不适用于除 之外指定的路径。
  • 我使用了菜单位置和配置屏幕截图。请查看并告诉我为什么链接无效。
【解决方案2】:

实际上这种情况不需要使用任何模块。我为实现它所做的一切。我刚刚修改了zurb基础主题的template.php。我有copied the code(foreach loop code) from here 并添加到页面中提到的template.php 文件中,并添加了如下的css:

#main-menu li.active-trail  a,
#main-menu li a.active, #main-menu li a:hover {
  background:#fec325;
  /* IE6-9 */
}

就是这样。我已经实现了我想要的。我希望任何正在寻找相同问题的人都可以发现这个解决方案对这种需求很有用。

【讨论】:

    猜你喜欢
    • 2012-12-27
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多