Недавно столкнулся с ситуацией, когда нужно было использовать 2 разных версии jQuery на одном сайте в зависимости от отображаемой страницы. На главной странице сайта который я делал выводилась векторная карта, которая наотрез отказывалась работать с jQuery версии 1.3.2. Если же идти методом прямого пробивания стен лбом и прописать в коде версию jquery поновее, то отказывался работать Views и другие модули Друпала.

Итак, приступим.
Скачиваем новую версию jQuery и размещаем ее в /sites/all/themes/tur/js/(tur - это название моей темы. Вам нужно заменить на свою тему).
Идем в template.php нашей темы, если его нет, то создаем этот файл в папке /sites/all/themes/название_темы/ , и добавляем в него следующий код

function new_js_scripts(){
$js = drupal_add_js('sites/all/themes/tur/js/jquery-x.x.x.js', 'core', 'header');
unset($js['core']['misc/jquery.js']);
print drupal_get_js('header', $js);
}

jquery-x.x.x.js - это Ваш файл с библиотекой jQuery, x.x.x заменяем на версию jQuery.
Далее в файле шаблона нашей темы, в котором нужно использовать новую версию jQuery заменяем код
 print $scripts;
на
 print new_js_scripts();

Например, в моем частном случае, мне нужно было на главной странице использовать jQuery более новой версии чем идет с Drupal. В файле page-front.tpl.php я заменил  print $scripts; на  print new_js_scripts(); . После этой простой манипуляции на при загрузке главной страницы, где я использовал блатную карту подгружалась последняя версия jQuery, а на всех остальных использовалась версия библиотеки идущая с Друпалом. Views прекрасно работал и карта нормально отображалась.

Добавить комментарий