Ejemplo "Hola mundo"

Una parte esencial de un módulo de Drupal 8, tema, o instalar el perfil es el archivo .info.yml (también conocido como "archivo info yaml") para almacenar metadatos sobre el proyecto.

 

Estos archivos.info.yml están obligados a:

 

  • Notificar a Drupal sobre la existencia de un módulo, tema, o instalar perfil.
     

  • Proporcionar información para las páginas de administración de Drupal Web UI.
     

  • Proporcionar criterios para controlar la activación y desactivación del módulo y la compatibilidad de la versión de Drupal.
     

  • Propósitos administrativos generales en otros contextos.

 

Hello World

 

El siguiente es el archivo hello_world.info.yml que vamos a utilizar. Si estás siguiendo dispuesto, continua y crea un nuevo archivo, llamado hello_world.info.yml, en la carpeta raíz de tu módulo, y pega este código en él:

name: Hello World Module

description: Creates a page showing "Hello World".
package: Custom

type: module

core: 8.x

 

Mirando el archivo info.yml se puede echar un vistazo a cada línea para ver lo que hace.

Las tres primeras líneas se utilizan principalmente en la interfaz de usuario de administración al permitir a los usuarios activar o desactivar tu módulo.

Las claves de nombre y la descripción (ambos requeridos) proporcionan el texto que se muestra en la página de administración del módulo y la paquete clave que te permite agruparlos como módulos entre sí.

 

El núcleo, por ejemplo, usa package: Core para agrupar todos los módulos proporcionados con Drupal 8, del mismo modo que podrías utilizar package: Custom para agrupar a todos tus proyectos de módulos de cliente haciéndolos más fáciles de localizar y habilitar.

 

La clave tipo, que es nueva en Drupal 8, es necesaria e indica el tipo de extensión, por ejemplo, módulo, tema o perfil.

 

Para los módulos alojados en drupal.org, el número de versión lo completará el script de empaquetado, no lo debes especificar de forma manual, pero omite la línea de versión.

 

Se requiere la clave de núcleo y especifica la versión del núcleo de Drupal con el que es compatible tu módulo.

EJEMPLO COMPLETO

Además de las propiedades básicas que se muestran en el ejemplo anterior existen también una serie de propiedades opcionales.

He aquí un ejemplo completo:

 

name: Hello World Module
description: Creates a page showing "Hello World".
package: Custom

type: module
core: 8.x

dependencies:
 - datetime:datetime
 - link:link
 - drupal:views

test_dependencies:
- drupal:image

configure: hello_world.settings

hidden: true

# Note: do not add the 'version'  property yourself!
# It will be added automatically by the packager on drupal.org.

version: 1.0tomáticamente por el envasador en drupal.org.

Versión 1.0

 

  • dependencies - Una lista de otros módulos de los que depende el tuyo.

    Las dependencias deben de ser nombradas en el formato: {project}:{module} dónde {project} es el nombre del proyecto tal como aparece en la url de Drupal.org (es decir: drupal.org/project/views) y {module} es el nombre de la máquina del módulo.

     

  • test_dependencies - Una lista de los otros módulos en el proceso de ser añadido como dependencias de tu módulo.

    Esto permite testbot para incluir correctamente nuevas dependencias cuando se ejecutan pruebas automáticas contra los parches que se envían a la cola de emisión cuando contienen una nueva dependencia.

    En general, debes agregar y acometer nuevos test_dependecies tan pronto como puedas cuando se considera una nueva dependencia. Esto permitirá a los testbot funcionar correctamente durante todo el proceso de desarrollo de cualquier función requiera la nueva dependencia.

    Una vez que el desarrollo de la función que requiere la nueva dependencia se completa, debes mover la dependencia de prueba a la sección de dependencias. En el ejemplo anterior, testbot incluirá el módulo de imagen durante las pruebas, pero los sitios que instalan el "Módulo Hola Mundo" no serán necesario para instalar también el módulo de imagen. Los tests de dependencias deben de
    ser nombrados de la misma forma en las dependencias.

     

  • configure - Si tu módulo ofrece una forma de configuración, entonces aquí puedes especificar la ruta. Entonces aparecerá un vínculo en la página Extend (/admin/modules) cuando el usuario amplíe los detalles.
     

  • hidden: true - Esto ocultará tu módulo de la lista de módulo en la página Extend (/admin/modules). Puedes encontrar útil ocultar un módulo si sólo es de prueba, o tiene la intención de servir de ejemplo para los desarrolladores que necesiten implementar el API del módulo principal.

    Puedes hacer
    estos módulos visibles añadiendo
    en tu archivo settings.php.
     

​$settings['extension_discovery_scan_tests'] = TRUE

 

Puedes continuar con nuestra guía de cómo crear módulos en Drupal 8.
Total de votos: 27

Entradas relacionadas

Comentarios (0)

Deja un comentario