Вы здесь

Бардак с jQuery в Друпал - кто как борется?

0

Бардак я щетаю! Кто в лес, кто по дрова.
Вот что удалось нагуглить новичку за 3 дня поисков проблем со скриптами на сайте:

По умолчанию Друпал ставит jQuery 1.4.4. (причем это не 1.40.40, а версия 1.04.04 - я это выяснил только на 4й день поисков), написанную еще при Царе Горохе.
- Почему эту версию? - нагуглить в русском интернете непонятно. В англоязычном тоже не понятно + еще и английский доучивать надо.
- Какой jQuery нужен вам (версия) с достоверной точностью установить невозможно. Как и достоверно установить штатными способами какой jQuery используется в данный момент на сайте.
- Православного способа установки определенной версии jQuery в Друпал не существуют.
- Не существует православного способа хранения библиотеки jQuery. Кто хранит его у гугля. кто у jQuery, кто на сайте, и т.д. Все правы.
- Версии jQuery плохо совместимы между собой. При этом вполне себе нормальным считается использование 2х версий jQuery одновременно.
- Используя Друпал о версии jQuery 2.x лучше забыть.
и так далее.
Приведу конкретный пример:
популярный плагин (согласно выдачи русского гугла) Drupal jCaurucel. В документации на Drupal.org ни слова о том, что для плагина требуется (согласно официальной документации java-библиотеки jCaurucel ) версия jQuery 1.7 (1.07). При этом на jQuery 1.04.04 - все православно работает. Не буду говорить уже о том, что в доках к плагинам ни слова о рекомендуемом способе установки необходимой версии jQuery.

Вопросы:
- кто какой версией пользуется и кто какую версию рекомендует для остальных?
- откуда ее все-таки загружать?
- каким способом лучше поставить, чтобы было минимум проблем?
- какой плагин каруселек лучше использовать, в плане совместимости с большинством модулей и версий jQuery.
Спасибо!
Какого рода ответ я хочу получить: не бессвязанную ссылку на какой-то пример когда-то удачно решивший проблему, а ответ, максимально полно учитывающий все вышеозвученные аспекты работы с jQuery.
Еще раз спасибо.

Версия Drupal: 
7.x
Категория: 
JavascriptTheming
Вопрос задан 10.02.2015 - 07:34

Ответы

3

по умолчанию Друпал ставит jQuery 1.4.4. (причем это не 1.40.40, а версия 1.04.04 - я это выяснил только на 4й день поисков)

Это именно 1.4.4 без ноликов. Почитайте про семантическое версионирование.

Почему эту версию?

В Друпале обычно используется версия jQuery актуальная на момент выхода мажорного релиза:
* Drupal 5 - 1.1.2
* Drupal 6 - 1.2.6
* Drupal 7 - 1.4.4
* Drupal 8 beta 6 - 2.1.3

В дальнейшем jQuery обычно не обновляют до следующего мажорного релиза, что бы не сломать обратную совместимость.

Православного способа установки определенной версии jQuery в Друпал не существуют.

Существует. Обновить версию jQuery на сайте можно самостоятельно с помощью модуля jQuery Update либо с помощью jQuery Multi.

Как и достоверно установить штатными способами какой jQuery используется в данный момент на сайте.

Выполнить в JS консоли команду jQuery.fn.jquery

кто какой версией пользуется и кто какую версию рекомендует для остальных

Ту которая установлена по умолчанию. Если есть необходимость, подключать с помощью jQuery Multi другие версии jQuery для отдельных плагинов.

Ответ дан 10.02.2015 - 08:16
Аватар пользователя Chi
Chi
68
1

Устанавливаю нужную версию через jQuery Update.
Не забываем, что для админки надо оставить старую версию джедай квери, а на front-end какую захотите. Кстати jQuery UI уже в ядре.
По поводу карусели:
Каждый выбирает более подходящую карусель для конкретного проекта. Могу посоветовать OWL.
Вы говорите про совместимость с другими модулями. С какими? Ставить модули на front-end это моветон. Так что, конфликтов версий особо не должно быть. Да и легко подобрать нужную версию.

Ответ дан 10.02.2015 - 08:49
Аватар пользователя SAM
SAM
212

Вы говорите про совместимость с другими модулями. С какими?

C Views и прочими. Например, JCarousel можно использовать с Views, Fileld Slideshow. Я так понимаю чем больше интеграция модулей, тем больше возможностей для вебмастера?

Ставить модули на front-end это моветон

Не очень понял, почему? А как тогда лучше подключать - добавлением скриптов?

Комментарий оставлен 10.02.2015 - 09:30

Если Вы имеете ввиду интеграцию модулей с другими, то да, тут надо смотреть версии jQuery у модулей и подключить нужный.

Не очень понял, почему? А как тогда лучше подключать - добавлением скриптов?

Говорилось уже 100500 раз. Вот смотрите:
Вы захотели подключить кнопку "Наверх". Ищите модуль и включаете. А по хорошему просто подключить нужный js файл в тему и всё. Так как модуль это много php кода, который будет обрабатываться. И потом крики: "Драпал тормозной...".
То есть front-end побрякушки, без интеграции с другими модулями и прочим функционалом Друпала, лучше подключать именно так.

Комментарий оставлен 10.02.2015 - 12:55