我正在将 Drupal 6 主题更新为 Drupal 7。在 Drupal 6 版本中,我有一个不错的小菜单功能,将 JQuery 注入主菜单以使其作为下拉菜单工作(+ 获取菜单树的预处理功能)这很好用。
在我的主题的 Drupal 7 版本中,我在我的信息文件中调用 JavaScript,就像在 Drupal 6 中所做的那样,并查看渲染页面的源代码,它没有注入菜单本身。我调用下面的脚本以及标准的 superfish.js(它在 Drupal 6 中再次运行良好。)
Drupal.behaviors.skyBehavior = function(context) {
/**
* Superfish Menus
* http://users.tpg.com.au/j_birch/plugins/superfish/
* @see js/superfish.js
*/
jQuery('#navigation ul').superfish({
animation: { opacity: 'show', height:'show' },
easing: 'swing',
speed: 250,
autoArrows: false,
dropShadows: false /* Needed for IE */
});
};
我相信完成所有繁重工作的那一行是:( jQuery('#navigation ul').superfish({
请注意,我周围的菜单 div id 是“#navigation”,然后<ul>
标签开始。)
我在我的 Drupal 7 版本中运行一个预处理函数来获取主菜单的菜单树,我可以看到在 Firebug 中查看的整个树,但我可以看到 Jquery 注入的代码丢失了。
在我的 Drupal 6 主题中,我会看到:
<ul class="menu sf-js-enabled" style="visibility: hidden; display: none;">
... - 当然,鼠标悬停会将“显示:无”更改为“可见”。
但是在我的主题的 Drupal 7 版本中,我在 Firebug 中看到的只是:
<ul class="menu">
...
我对 JavaScript 不太了解,所以我希望这可能会给某人敲响关于如何找到修复的钟声。谢谢。