добавил в html.tpl.php <?php drupal_add_js('misc/jquery-1.4.4.min.js'); ?>
не помогло
через <scripttype="text/javascript"src="....."></script> всё работает, в чём кстати разница между drupal_add_js и ручной вставкой?
и как можно выключать библиотеки из $scripts? вся задача в том, чтобы заменить одну библиотеку на другую
В html.tpl.php после того, как инициализируется $scripts, добавлять скрипты с помощью drupal_add_js() уже поздно.
Добавляйте в template_preprocess_html() или template_process_html(). Они для того и существуют, что бы "готовить" переменные для шаблона.
Quote:
всё работает, в чём кстати разница между drupal_add_js и ручной вставкой?
Хотя бы в том, что агрегация скриптов в последнем случае не будет работать.
Большое спасибо natbampo и Ch!
Вставил в template_preprocess_html, всё работает. Но одна вещь остаётся непонятной: на главной странице я использую accordion (из JQuery UI), ему требуется jquery-1.4.4.min.js, которая идёт по-умолчанию в drupal 7, но с ней работать он не хочет и работает лишь если вставить её в template_preprocess_html через drupal_add_js('misc/jquery-1.4.4.min.js'). Почему так происходит? Ведь библиотека одна.
Комментарии
template_process_html
спасибо!
а как я могу добавить в неё свой скрипт?
drupal_add_js
добавил в html.tpl.php
<?php drupal_add_js('misc/jquery-1.4.4.min.js'); ?>
не помогло
через
<script type="text/javascript" src="....."></script>
всё работает, в чём кстати разница между drupal_add_js и ручной вставкой?и как можно выключать библиотеки из $scripts? вся задача в том, чтобы заменить одну библиотеку на другую
в самом шаблоне страницы уже поздно добавлять скрипт через drupal_add_js. Там уже готова переменная со скриптами для вывода.
кеширование
посмотри как в модуле jquery_update сделано.
В html.tpl.php после того, как инициализируется $scripts, добавлять скрипты с помощью drupal_add_js() уже поздно.
Добавляйте в template_preprocess_html() или template_process_html(). Они для того и существуют, что бы "готовить" переменные для шаблона.
Хотя бы в том, что агрегация скриптов в последнем случае не будет работать.
Большое спасибо natbampo и Ch!
Вставил в template_preprocess_html, всё работает. Но одна вещь остаётся непонятной: на главной странице я использую accordion (из JQuery UI), ему требуется jquery-1.4.4.min.js, которая идёт по-умолчанию в drupal 7, но с ней работать он не хочет и работает лишь если вставить её в template_preprocess_html через drupal_add_js('misc/jquery-1.4.4.min.js'). Почему так происходит? Ведь библиотека одна.
Наверно потому, что для совместимости с другими библиотеками $ в D7 больше не указывает на объект jQuery.
// Здесь код
})(jQuery);
Managing JavaScript in Drupal 7
Ch, вы меня спасли, благодарю!