Підключення бібліотек в drupal через libraries api - блог angarsky

Здорово, Посон! Сьогодні поділюся інформацією, як рівні розробники підключають сторонні бібліотеки до Drupal 7. Справа в тому, що підприємницькі кола Drupal не вітає включення сторонніх бібліотек, класів до складу окремого модуля. Вирішувати цю проблему ми будемо через Libraries API.

Для початку роботи нам буде потрібно встановити модуль Libraries API. який є гнучкою обгорткою для роботи з зовнішніми бібліотеками і надає набір хуков і допоміжних функцій. Переваги використання Libraries API:

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

Libraries API вимагає звичайного включення і створення папки libraries в sites. Тепер на прикладі підключення бібліотеки jScrollPane я постараюся показати, як використовувати можливості модуля. Libraries API надає новий хук hook_libraries_info. є обов'язковим при описі нової бібліотеки:

Власне, я навів приклад мінімально необхідного опису масиву $ libraries [ 'jscrollpane'] для підключення. Хук hook_libraries_info володіє більш гнучкими настройками, з якими, при бажанні, ви можете ознайомитися в офіційній документації. Тепер, згідно з описом бібліотеки jScrollPane. необхідно помістити файли jquery.jscrollpane.min.js і jquery.jscrollpane.css в корінь папки sites / libraries / jscrollpane.

Підключення та використання бібліотек

Тепер, коли файли бібліотеки лежать в потрібному місці і імплементований хук, ви можете сміливо використовувати бібліотеку:

Для більш гнучкого взаємодії можна зробити і так:

Якщо необхідно просто переконається в наявності бібліотеки:

Контроль статусу і версії бібліотек

Як бонус до цього посту розповім, як виводити інформацію про бібліотеку на сторінці статусу Drupal admin / reports / status. Для цього доведеться додати в ваш .install-файл імплементацію хука hook_requirements.

Як наочний приклад інтеграції з Libraries API рекомендую подивитися модуль Colorbox - він власне і мені служив джерелом отримання знань.

Загалом, тепер ви знаєте, як необхідно поводитися зі сторонніми бібліотеками в Drupal - як їх підключати і куди складувати. Сподіваюся, завдяки цьому посту, ваш код стане ще чистіше!