Як створити порожній модуль? [зачинено]


15

Який найосновніший дійсний модуль, який можна створити в Drupal?

Було б корисно мати простий план для всіх, хто тільки розпочав роботу з Drupal.

Відповіді:


26

Наведені нижче інструкції дозволяють створити порожній модуль і корисний для всіх, хто тільки розпочав роботу зі створення модуля. Якщо у вас виникли проблеми з тим, як ваш перший модуль працює або навіть з’являється в Drupal, переконайтеся, що ви прочитали всі інструкції, наведені нижче.

Друпал 8

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

  1. Назва машини.
  2. YAML файл інформації по імені після імені машини, в формі module-machine-name.info.ymlз наступними атрибутами:
    1. name: Людсько-читабельна назва
    2. type:Тип, що визначається як a module.
    3. core:Основна версія основної версії Drupal, з якою модуль сумісний 8.x, у цьому випадку.
  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-сайті, хоча він нічого не зробить.


а також sites/default/... просто кажу ...
tenken

Ви абсолютно праві, виправте це. :) Що мені нагадує, я повинен перевірити замовлення і переконатися, що воно правильне.
Летаріон

Для drupal 8 вам зараз потрібен лише модуль-машина-name.info.yml. Файлу .module більше не потрібно мати включений модуль. Не те, що це дуже корисно, але можливо :)
підкресли

1
D8: .module та .profile файли більше не потрібні. drupal.org/node/2217931
sobi3ch

1
Drupal 8: А що drupal generate:module?
Скрін

8

Для Drupal 8, оскільки в цьому питанні було написано креслення, я думаю, що я згадав би проект " Консоль Drupal ".

Після того, як це встановлено, можна генерувати код модуля (та інші речі, такі як ліси для спеціальних об'єктів, плагінів тощо).

Щоб створити базовий модуль з командного рядка: drupal generate:module. Потім один запитується через деякий збір основної інформації та залишається з файлами модулів в кінці:

Генерація модуля консолі Drupal

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.