3 Варіанта як підключити javascript в drupal 7

Варіант 1: Через кастом-модуль

Для таких витонченість є спец функція drupal # 95; add # 95; js (). Вона, як нескладно здогадатися, додаючи JS файл на сайт. Все просто і банально, ось вам парочка прикладів:

Також корисною виявиться наступна функція:

Ця функція поверне шлях до місця знаходження модуля. Наприклад, якщо ви зберігаєте свій скрипт в модулі wtf, а там в папці js, то додати скрипт можна двома способами:

Варіант 2: Через тему сайту

Також можна підключати JS за допомогою своєї теми оформлення. Напишу на прикладі zen-subtheme.

Створюємо в папці теми нову папку і назвемо js, а в неї кладемо наш script.js. Потім нам досить відкрити .info файл теми і додати в відповідний розділ, якщо немає то додайте де самі вважаєте за потрібне, наступний код:

Варіант 3: У файлі темізаціі

Припустимо ви хочете щоб файл підключився на певній ноді і ви створили для неї шаблон node-NID.tpl.php. В цьому випадку найпростіше підчепити JS безпосередньо в цьому файлі, просто вгорі напишіть то що ми розглянули в варіанті 1.

Тут буде корисна ще одна функція для опредленія шляхів: path # 95; to # 95; theme () - вона повертає шлях до поточної теми, як у випадку з модулем.
Припустимо хочемо додати файл з варіанту 2 але через php:

Ви можете подивитися як, наприклад, я зробив у своєму невеликому модулі. який зроблений весь на JS, але обгорнутий в модуль Drupal'a.

Залишайся на зв'язку

Будь завжди в курсі нових матеріалів! Підписуйся на канали \ паблік \ розсилки щоб отримувати оперативні оповіщення.

#attached (не обов'язково застосовувати саме до форм, хоча, судячи з усього, спочатку замислювався саме для цієї мети)

drupal_add_library приєднує бібліотеку, бібліотека по суті являє собою набір JS і CSS файлів, крім того, може мати залежні бібліотеки, які так само будуть підключені.

Бібліотеки описуються в hook_library, де вказуються підключаються JS, CSS файли і залежні бібліотеки, а так само адміністративну інформацію. Це зручно, якщо підключити якусь сторонню JS бібліотеку, або просто необхідно підключити кілька разів одні й ті ж файли в різних місцях модуля. Бібліотека, що складається з одного підключеного файлу, зазвичай сенсу не має.

Відповідь на Доповню небагато: від sg (гість)

Я якраз вчора розбирався в цьому. Але у мене не підключався, мабуть мій косяк в тому що я юзал hook_library_info ()
Загалом я ща какраз це розгрібати. Інформації достатньо мало в мережі, а ще вони дуже силно різняться, хто для дев пише, хто для альфи і ось сидиш думаєш який зараз.

Схожі статті