Как создать пустой модуль? [закрыто]

15

Какой самый основной действительный модуль можно создать в Drupal?

Было бы полезно иметь простой проект для любого, кто только начинает работать с Drupal.

Letharion
источник

Ответы:

26

Приведенные ниже инструкции позволяют создать пустой модуль и полезны для всех, кто только начинает работу по сборке модуля. Если у вас возникли проблемы с работой вашего первого модуля или даже с появлением в Drupal, убедитесь, что вы прочитали все инструкции ниже.

Drupal 8

projectНеобходимо по крайней мере,

  1. Имя машины.
  2. YAML файл информации по имени после имени машины, в форме module-machine-name.info.ymlсо следующими атрибутами:
    1. name: Человекочитаемое имя
    2. type:Тип, определяющий быть module.
    3. core:В 8.xданном случае основная версия ядра Drupal, с которой совместим модуль .
  3. Пустой файл модуля, имя в форме module-machine-name.module

Drupal ищет модули в этих местах, как видно из корня сети:

  1. /modules/
  2. sites/[example.com]/modules
  3. sites/default/modules
  4. 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 7

Модуль должен по крайней мере иметь

  1. Имя машины.
  2. Человекочитаемое имя
  3. Информационный файл, названный в честь имени машины.
  4. Пустой файл модуля.

Чтобы быть загружаемым Drupal, он также должен определить, с какой версией ядра он совместим.

Далее Drupal ищет модули в этих местах:

  1. sites/all/modules/
  2. sites/[example.com]/modules
  3. sites/default/modules
  4. 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, хотя на этом этапе он ничего не будет делать.

Letharion
источник
а также sites/default/... просто говорю ...
Tenken
Вы абсолютно правы, исправили это. :) Что напоминает мне, что я должен проверить заказ и убедиться, что он правильный.
Летарион
Для Drupal 8 вам нужен только модуль-имя-машины.info.yml. Файл .module больше не требуется иметь включенный модуль. Не то, что это очень полезно , но это возможно :)
Undersound
1
D8: файлы .module и .profile больше не требуются. drupal.org/node/2217931
sobi3ch
1
Drupal 8: Как насчет drupal generate:module?
Screenack
8

Для Drupal 8, поскольку в вопросе упоминается план, я полагаю, я бы упомянул проект консоли Drupal .

После того, как это установлено, можно сгенерировать код модуля (и другие вещи, такие как строительные леса для пользовательских объектов, плагинов и т. Д.).

Чтобы создать базовый модуль из командной строки: drupal generate:module. Затем один из них запрашивается через сбор некоторой базовой информации и остается с файлами модуля в конце:

Генерация консольного модуля Drupal

jhedstrom
источник