Drupal Nice Menus 与 Superfish —— 下拉菜单模块的说明与比较
Nice Menus 和 Superfish 模块都可以在 Drupal 中创建垂直或水平的下拉菜单。您只需选择其中一个模块使用即可。这两个模块都非常流行,并且拥有大量的扩展和附加模块。
Nice Menus 和 Superfish 模块都基于同一个 jQuery 库 —— Superfish:
https://www.drupal.org/project/nice_menus
https://www.drupal.org/project/superfish
https://github.com/mehrpadin/Superfish-for-Drupal
我们先来看 Nice Menus。
Nice Menus
启用模块后,Nice Menus 会自动创建下拉菜单。模块自带所需库,无需额外安装,非常方便(这也是它名字 “nice” 的原因)。
接下来进入“区块(Blocks)”配置页面,您会看到几个 Nice Menus 区块,选择第一个进行设置:
在这里可以选择要显示的菜单以及显示方式。此示例中我只有一个带有嵌套项的 “Management” 菜单,可以将其设置为下拉显示。
请注意设置项 Respect "show as expanded" option,启用它后所有菜单项(包括子菜单)都将默认展开,而不仅仅是在点击父级菜单后显示。
还可以设置菜单的弹出方向,例如选择 “Down” 让菜单向下展开:
效果如下:
Nice Menus 的设置选项不多,路径如下:
/admin/config/user-interface/nice_menus
在这里可以设置菜单展开速度与延迟时间。我个人喜欢菜单快速展开,因此通常这样设置:
至此,您已经拥有一个下拉菜单。Nice Menus —— 简单、快捷、无需复杂配置。
Drupal Superfish
Superfish 模块的安装稍微复杂一些,但功能更强大,能够更灵活地控制菜单的外观与行为。
首先需要为 Drupal 下载 Superfish 库(必须是专为 Drupal 定制的版本):
https://github.com/mehrpadin/Superfish-for-Drupal
如果您尚未安装 Libraries API 模块,请先安装它:
https://www.drupal.org/project/libraries
我下载了 1.0 版本的库,将其复制到 sites/all/libraries/superfish
目录中:
另外需要安装 jQuery Update 模块:
https://www.drupal.org/project/jquery_update
在 jQuery Update 设置中,建议前端使用版本 1.7,后台使用 1.5(以避免 Views 模块出现兼容问题):
/admin/config/development/jquery_update
现在启用 Superfish 模块,然后在状态报告中确认库是否正确加载:
/admin/reports/status
接着进入区块设置并启用一个 Superfish 区块:
/admin/structure/block
Superfish 的设置选项更多,我们分步来看看:
在此页面中可以选择要显示的菜单(如 Management)、菜单展开方向(水平或垂直)、菜单样式(如 Blue 主题)、展开速度及延迟(建议设置为较快)。
其余是标准设置。若未安装 jquery.easing 插件也没关系,Superfish 默认运行良好。
选择好显示区域后即可预览效果。其余外观选项如下:
菜单应能正常显示,如有问题可在评论中讨论。
Superfish 的强大之处在于对移动设备的自适应支持。
在手机上,菜单会自动转换为下拉选择框,便于点击选择。
此外,Superfish 在触摸屏设备上也能正常运行(包括移动端与桌面端)。这些特性通过附加插件控制,默认已启用,无需手动调整。
因此,从功能角度看,Superfish 明显优于 Nice Menus,但后者安装更简单、配置更快。
如果您仍希望在 Nice Menus 中实现响应式菜单,可使用以下附加模块:
https://www.drupal.org/project/responsive_menus
https://www.drupal.org/project/mobile_navigation