¿Cómo crear un módulo vacío? [cerrado]

15

¿Cuál es el módulo válido más básico que se puede crear en Drupal?

Sería útil tener un plan simple disponible, para cualquiera que recién esté comenzando con Drupal.

Letharion
fuente

Respuestas:

26

Las instrucciones a continuación le permiten a uno crear un módulo vacío, y es útil para cualquier persona que esté comenzando a construir módulos. Si tiene problemas para hacer funcionar su primer módulo, o incluso para aparecer en Drupal, asegúrese de haber leído todas las instrucciones a continuación.

Drupal 8

Al projectmenos debe tener

  1. Un nombre de máquina.
  2. Un archivo de información yaml con el nombre del nombre de la máquina, en el formulario module-machine-name.info.ymlcon los siguientes atributos:
    1. name: Un nombre legible por humanos
    2. type:Un tipo que define ser a module.
    3. core:La versión principal principal de Drupal con la que el módulo es compatible 8.x, en este caso.
  3. Un archivo de módulo vacío, nombre en el formulario module-machine-name.module

Drupal busca módulos en estas ubicaciones, como se ve desde la raíz web:

  1. /modules/
  2. sites/[example.com]/modules
  3. sites/default/modules
  4. profiles/[install-profile]/modules

Técnicamente, Drupal también busca módulos core/modules, pero uno nunca debe colocar módulos allí, por lo tanto, no está en la lista anterior.

Una estructura de módulo de ejemplo, para un módulo con el nombre de la máquina helloworld, se vería así:

/modules/helloworld/helloworld.info.yml

/modules/helloworld/helloworld.module

Observe que tanto la información como el archivo del módulo tienen el mismo nombre que el nombre de la máquina, lo cual es importante.

El archivo del módulo puede estar vacío, pero el archivo de información debe contener algunos valores mínimos para que Drupal lo reconozca como un módulo. Para nuestro módulo helloworld, podría verse así:

name: 'Hello world module to demonstrate module building'
core: 8.x
type: module

Si sigue las instrucciones anteriores, debería poder obtener un nuevo módulo en su sitio de Drupal, aunque no hará nada, en esta etapa.

Drupal 7

Un módulo debe tener al menos

  1. Un nombre de máquina.
  2. Un nombre legible por humanos
  3. Un archivo de información con el nombre del nombre de la máquina.
  4. Un archivo de módulo vacío.

Para que Drupal pueda cargarlo, también debe definir con qué versión principal es compatible.

Además, Drupal busca módulos en estas ubicaciones:

  1. sites/all/modules/
  2. sites/[example.com]/modules
  3. sites/default/modules
  4. profiles/[install-profile]/modules

Técnicamente, Drupal también busca módulos modules, pero uno nunca debe colocar módulos allí, por lo tanto, no está en la lista.

Una estructura de módulo de ejemplo, para un módulo con el nombre de la máquina helloworld, se vería así:

sites/all/modules/helloworld/helloworld.info

sites/all/modules/helloworld/helloworld.module

Observe que tanto la información como el archivo del módulo tienen el mismo nombre que el nombre de la máquina, lo cual es importante.

El archivo del módulo puede estar vacío, pero el archivo de información debe contener el nombre legible del módulo y la versión principal con la que el módulo es compatible.

Para nuestro módulo helloworld, podría verse así:

name = Hello world module to demonstrate module building
core = 7.x

Si sigue las instrucciones anteriores, debería poder obtener un nuevo módulo en su sitio de Drupal, aunque no hará nada, en esta etapa.

Letharion
fuente
y también sites/default/... solo diciendo ...
tenken
Tienes toda la razón, lo arregló. :) Lo que me recuerda que debería verificar el pedido y asegurarme de que sea correcto.
Letharion
Para drupal 8 ahora solo necesita el module-machine-name.info.yml. El archivo .module ya no es necesario para tener un módulo habilitado. No es que sea muy útil, pero es posible :)
Entendido el
1
D8: los archivos .module y .profile ya no son necesarios. drupal.org/node/2217931
sobi3ch
1
Drupal 8: ¿Qué pasa drupal generate:module?
Screenack
8

Para Drupal 8, dado que la pregunta mencionaba un plano, me imagino que mencionaría el proyecto Drupal Console .

Una vez que está instalado, uno puede generar código de módulo (y otras cosas como andamios para entidades personalizadas, complementos, etc.).

Para generar un módulo básico de la línea de comandos: drupal generate:module. Luego, se solicita una recopilación de información básica y se deja con los archivos del módulo al final:

Generación del módulo de consola Drupal

jhedstrom
fuente