Respostas:
As instruções abaixo permitem criar um módulo vazio e são úteis para quem está começando a criar um módulo. Se você tiver problemas para colocar seu primeiro módulo em funcionamento ou até mesmo aparecer no Drupal, leia todas as instruções abaixo.
Um project
deve ter pelo menos
module-machine-name.info.yml
com os seguintes atributos:
name:
Um nome humanamente legíveltype:
Um tipo, definindo ser a module
.core:
A principal versão principal do Drupal com a qual o módulo é compatível 8.x
, nesse caso.module-machine-name.module
O Drupal procura por módulos nesses locais, como visto na raiz da web:
/modules/
sites/[example.com]/modules
sites/default/modules
profiles/[install-profile]/modules
Tecnicamente, o Drupal também procura por módulos core/modules
, mas nunca se deve colocar módulos lá, portanto, não está na lista acima.
Um exemplo de estrutura de módulo, para um módulo com o nome da máquina helloworld
, ficaria assim:
/modules/helloworld/helloworld.info.yml
/modules/helloworld/helloworld.module
Observe que as informações e o arquivo do módulo são exatamente iguais ao nome da máquina, o que é importante.
O arquivo do módulo pode estar vazio, mas o arquivo de informações deve conter alguns valores mínimos para que o Drupal o reconheça como um módulo. Para o nosso módulo helloworld, isso pode se parecer com:
name: 'Hello world module to demonstrate module building'
core: 8.x
type: module
Se você seguir as instruções acima, poderá conseguir um novo módulo listado no site do Drupal, embora ele não faça nada, neste estágio.
Um módulo deve ter pelo menos
Para ser carregado pelo Drupal, ele também deve definir com qual versão principal ele é compatível.
Além disso, o Drupal procura por módulos nesses locais:
sites/all/modules/
sites/[example.com]/modules
sites/default/modules
profiles/[install-profile]/modules
Tecnicamente, o Drupal também procura por módulos modules
, mas nunca se deve colocar módulos lá, portanto, não está na lista.
Um exemplo de estrutura de módulo, para um módulo com o nome da máquina helloworld
, ficaria assim:
sites/all/modules/helloworld/helloworld.info
sites/all/modules/helloworld/helloworld.module
Observe que as informações e o arquivo do módulo são exatamente iguais ao nome da máquina, o que é importante.
O arquivo do módulo pode estar vazio, mas o arquivo info deve conter o nome humanamente legível do módulo e a versão principal com a qual o módulo é compatível.
Para o nosso módulo helloworld, isso pode se parecer com:
name = Hello world module to demonstrate module building
core = 7.x
Se você seguir as instruções acima, poderá conseguir um novo módulo listado no site do Drupal, embora ele não faça nada, neste estágio.
drupal generate:module
?
Para o Drupal 8, como a pergunta mencionou um plano, acho que mencionaria o projeto do Drupal Console .
Uma vez instalado, é possível gerar o código do módulo (e outras coisas, como andaimes para entidades personalizadas, plugins, etc.).
Para gerar um módulo básico na linha de comando: drupal generate:module
. Uma é solicitada através de uma coleta básica de informações e deixada com os arquivos do módulo no final:
sites/default/...
apenas dizendo ...