Articles

Al desarrollar módulos personalizados, existen varios escenarios que requieren que el desarrollador agregue un archivo composer.json a su módulo. Algunos de estos escenarios dependen de si el módulo personalizado está destinado a ser compartido con la comunidad como un proyecto en drupal.org.
Si el desarrollador del módulo quiere usar una biblioteca PHP alojada en packagist.org, debe agregar un archivo composer.json a su proyecto.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

En la siguiente sección analizaremos la creación de un módulo simple. Existe una tradición antigua en la que el primer programa que escribes en cualquier sistema nuevo muestra “Hello World!” en pantalla.
Aunque Drupal es uno de los proyectos de código abierto más audaces y progresivos, también está profundamente arraigado en las antiguas tradiciones de la ciencia y la ingeniería.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

La función content() en la clase HelloController devolverá un texto con marcado cuando el sistema de enrutamiento invoque la página.
En la carpeta de su módulo debe tener la estructura estándar de carpetas PSR-4 /src/Controller, y dentro de esa carpeta debe tener un archivo controlador llamado HelloController.php.
Así, su archivo controlador tendrá esta ruta
/src/Controller/HelloController.php
El código que debe tener en el archivo HelloController.php es el siguiente:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Regrese a la carpeta raíz de su módulo, donde se encuentra el archivo .info.yml, agregue un nuevo archivo llamado hello_world.routing.yml y añada lo siguiente:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Ahora que hemos creado un marcador de posición para nuestra página de configuración del módulo, vamos a agregar un enlace al menú. Las instrucciones a continuación muestran cómo crear un enlace de menú para el módulo hello_world en la sección “Desarrollo” de la página “Administrador > Configuración” (http://example.com/admin/config).
En la carpeta raíz de su módulo, cree un nuevo archivo llamado hello_world.links.menu.yml y agregue lo siguiente:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Esta guía continúa con el módulo Hello World, mostrando cómo agregar paso a paso bloques personalizados (y más).
Si realmente le gustan las aventuras, puede pasar al módulo de ejemplos. El módulo Examples contiene muchos más ejemplos de código que se utilizan en esta guía. Si es la primera vez que está aquí, siga leyendo esta guía y consulte los módulos de ejemplos cuando esté listo para aprender más.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Al agregar un archivo de configuración YAML a nuestro módulo, Drupal cargará automáticamente el contenido de ese archivo YAML y podremos acceder a él para proporcionar la configuración predeterminada. Desde la carpeta raíz de nuestro módulo, cree una nueva carpeta llamada «config». Dentro de esta nueva carpeta, cree otra carpeta llamada «install». Finalmente, dentro de config/install cree un nuevo archivo llamado hello_world.settings.yml.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Tema principal: configuración predeterminada
Resumen
En Drupal 7, para la configuración predeterminada de módulos como tipos de contenido, configuración de campos, vistas, etc., se requería código PHP especial para la instalación y actualización. En Drupal 8, estas configuraciones se almacenan junto con el sistema de configuración en archivos de texto YAML.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Introducción
Se ha dicho — y discutido — mucho sobre la última versión de Drupal — Drupal 8, y algo es seguro: la construcción de módulos ha cambiado drásticamente. Existen muchos tutoriales dedicados a las nuevas condiciones, y en cada uno los autores aconsejan a los desarrolladores estar atentos a cambios aún mayores conforme evoluciona el código.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Parte II de la guía práctica para crear módulos básicos en Drupal 8
De .info a tests, solo lo esencial

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.