Ответы:
Приведенные ниже инструкции позволяют создать пустой модуль и полезны для всех, кто только начинает работу по сборке модуля. Если у вас возникли проблемы с работой вашего первого модуля или даже с появлением в Drupal, убедитесь, что вы прочитали все инструкции ниже.
project
Необходимо по крайней мере,
module-machine-name.info.yml
со следующими атрибутами:
name:
Человекочитаемое имяtype:
Тип, определяющий быть module
.core:
В 8.x
данном случае основная версия ядра Drupal, с которой совместим модуль .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/...
просто говорю ...