Відповіді:
Наведені нижче інструкції дозволяють створити порожній модуль і корисний для всіх, хто тільки розпочав роботу зі створення модуля. Якщо у вас виникли проблеми з тим, як ваш перший модуль працює або навіть з’являється в Drupal, переконайтеся, що ви прочитали всі інструкції, наведені нижче.
project
Необхідно по крайней мере,
module-machine-name.info.yml
з наступними атрибутами:
name:
Людсько-читабельна назваtype:
Тип, що визначається як a module
.core:
Основна версія основної версії Drupal, з якою модуль сумісний 8.x
, у цьому випадку.module-machine-name.module
Drupal шукає модулі в цих місцях, як це видно з веб-кореня:
/modules/
sites/[example.com]/modules
sites/default/modules
profiles/[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]/modules
sites/default/modules
profiles/[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/...
просто кажу ...