Відповіді:
Наведені нижче інструкції дозволяють створити порожній модуль і корисний для всіх, хто тільки розпочав роботу зі створення модуля. Якщо у вас виникли проблеми з тим, як ваш перший модуль працює або навіть з’являється в Drupal, переконайтеся, що ви прочитали всі інструкції, наведені нижче.
projectНеобхідно по крайней мере,
module-machine-name.info.ymlз наступними атрибутами:
name: Людсько-читабельна назваtype:Тип, що визначається як a module.core:Основна версія основної версії Drupal, з якою модуль сумісний 8.x, у цьому випадку.module-machine-name.moduleDrupal шукає модулі в цих місцях, як це видно з веб-кореня:
/modules/sites/[example.com]/modulessites/default/modulesprofiles/[install-profile]/modulesТехнічно Drupal також шукає модулі core/modules, але ніколи не слід розміщувати модулі там, отже, його немає у списку вище.
Приклад структури модуля для модуля з назвою машини helloworldвиглядатиме так:
/modules/helloworld/helloworld.info.yml
/modules/helloworld/helloworld.module
Зауважте, що і інформація, і файл модуля як названі точно такі ж, як ім'я машини, що важливо.
Файл модуля може бути порожнім, але файл інформації повинен містити кілька мінімальних значень, щоб Drupal розпізнавав його як модуль. Для нашого модуля helloworld це могло виглядати так:
name: 'Hello world module to demonstrate module building'
core: 8.x
type: module
Якщо ви будете дотримуватися вищезазначених інструкцій, на цьому етапі ви зможете отримати новий модуль, перелічений на вашому Drupal-сайті, хоча він нічого не зробить.
Модуль повинен принаймні мати
Щоб завантажуватись Drupal, він також повинен визначити, з якою версією ядра він сумісний.
Далі Drupal шукає модулі в таких місцях:
sites/all/modules/sites/[example.com]/modulessites/default/modulesprofiles/[install-profile]/modulesТехнічно Drupal також шукає модулі modules, але ніколи не слід розміщувати модулі там, отже, його немає в списку.
Приклад структури модуля для модуля з назвою машини helloworldвиглядатиме так:
sites/all/modules/helloworld/helloworld.info
sites/all/modules/helloworld/helloworld.module
Зауважте, що і інформація, і файл модуля як названі точно такі ж, як ім'я машини, що важливо.
Файл модуля може бути порожнім, але інформаційний файл повинен містити людське читане ім'я модуля, і основна версія, з якою модуль сумісний.
Для нашого модуля helloworld це могло виглядати так:
name = Hello world module to demonstrate module building
core = 7.x
Якщо ви будете дотримуватися вищезазначених інструкцій, на цьому етапі ви зможете отримати новий модуль, перелічений на вашому Drupal-сайті, хоча він нічого не зробить.
drupal generate:module?
Для Drupal 8, оскільки в цьому питанні було написано креслення, я думаю, що я згадав би проект " Консоль Drupal ".
Після того, як це встановлено, можна генерувати код модуля (та інші речі, такі як ліси для спеціальних об'єктів, плагінів тощо).
Щоб створити базовий модуль з командного рядка: drupal generate:module. Потім один запитується через деякий збір основної інформації та залишається з файлами модулів в кінці:
sites/default/...просто кажу ...