Я обновляю тему Drupal 6 до Drupal 7. В версии Drupal 6 у меня была приятная небольшая функция меню, которая вставляла JQuery в главное меню, чтобы он работал как выпадающий список (+ функция препроцессора для получения дерево меню), и это прекрасно работало.
В версии моей темы на Drupal 7 я вызываю JavaScripts в своем информационном файле, как я это делал в 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 для меню - "#navigation", и после этого начинается тег <ul>
.)
Я использую функцию препроцессора в моей версии Drupal 7, чтобы получить дерево меню для главного меню, и я вижу все дерево, просматриваемое в Firebug, но я вижу, что введенный код Jquery отсутствует.
В моей теме Drupal 6 я бы увидел:
<ul class="menu sf-js-enabled" style="visibility: hidden; display: none;">
... - и, конечно, наведите курсор на изменение «display: none» на «visible».
Но в версии моей темы для Drupal 7 все, что я вижу в Firebug, это:
<ul class="menu">
...
Я не знаю много о JavaScript, поэтому я надеюсь, что это может кому-то позвонить, чтобы узнать, как найти исправление. Благодаря.