Del curso: Desarrollo API práctico: Proyecto avanzado basado en API para web de hotel

Creación de nuestro nuevo módulo con Drupal

Voy a crear un nuevo módulo. En realidad es algo tan fácil como crear una carpeta y luego crear un archivo 'info yml'. De todas formas, bueno, pues hay trucos y hay formas de hacerlo un poco mejor. Hay buenas prácticas. Por ejemplo, los módulos que creamos para nuestro propio sitio específico y que no vayamos a contribuir, los deberíamos meter dentro de una carpeta 'custom'. Yo ya he creado esta carpeta 'custom', así que el módulo lo debería de crear dentro de ella. Igual que eso es así, por ejemplo, los módulos contribuidos deberían de estar dentro de una carpeta 'contribute' que almacene todos esos módulos. Y, de ese modo, pues podemos tener, digamos, subcarpetas que sirvan para organizar todos los módulos en vez de ponerlos todos seguidos como tengo ahora mismo. Dentro de esta carpeta 'custom' entonces es donde voy a crear mi nuevo módulo. En mi caso es un módulo específico para trabajar dentro de mi sitio. No lo voy a contribuir y no lo voy a utilizar en otros sitios, así que, para saber que forma parte de mi sitio, le voy a poner el mismo nombre que este sitio, o sea, 'landon'. Pero además, es el módulo, digamos, que engloba todas las funcionalidades que va a tener. Así que voy a poner '_ master' para indicar que es el módulo principal. Estos módulos 'master' se suelen utilizar mucho, por ejemplo, para establecer dependencias. De tal manera que, teniendo instalado ese módulo, obliga además a tener todos los demás módulos instalados para ese sitio web. Bueno, pues, ya tengo mi 'landon_master' y ahora tendré que crear entonces el archivo 'info' dentro de él. Para ello, selecciono New File. Todos los archivos de configuración tienen que llevar el mismo nombre que el módulo, con lo cual tiene que empezar por 'landon master' y, a partir de ahí, voy a añadir el resto. El archivo principal, el único que es absolutamente imprescindible cuando estamos trabajando con módulos, es el archivo 'info'. Así que tendré que crear nombre del módulo, punto 'info', punto 'yml', porque es un archivo de configuración. Ya tengo ese archivo. Y ahora tengo que rellenarlo, claro. Hay varios parámetros que también son imprescindibles. Por ejemplo, el tipo de elemento que estoy creando, que es un módulo. Por otro lado, el nombre. El poner ese guion bajo es una costumbre mía, no es imprescindible. La descripción. Voy a poner una pequeña descripción. Por otro lado, lo voy a meter dentro de la carpeta 'custom'. Bien, pues entonces añado el parámetro 'package' con el nombre de la carpeta. Por otro lado, para quién funciona. Va a ser para Drupal 8. ¿Cuál es la versión de este módulo? Bueno, pues como estoy empezando a crearlo, voy a hacer que sea la versión 1.0. El siguiente parámetro que debería de añadir son las dependencias. Pero de momento no voy a tener ninguna. Sí que las necesitaré más adelante. Así que lo voy a dejar como está. Solo con esto, cuando ahora me vaya a la administración del sitio, dentro de Ampliar tiene que aparecerme ese nuevo módulo. Aquí lo podemos ver. En el paquete 'custom' tengo ese 'landon master' con la descripción. Bien, pues lo voy a seleccionar. Pulso en Instalar y debería de funcionar. Si hubiese cometido algún error, se generaría efectivamente un error dentro de la pantalla del navegador y probablemente ya no me dejaría hacer nada más. Para poder poner en marcha de nuevo el sitio tendría, una de dos, que eliminar ese módulo o que, obviamente, solucionar el problema. Vemos que lo he instalado correctamente, o sea, que ese módulo no hace nada. Pero instalado, ya está instalado. Como digo, si hubiese cualquier tipo de problema siempre podría ejecutar 'Drush', espacio, 'CR', después de hacer cambios dentro del yml, y así conseguiría vaciar la caché y probar de nuevo el módulo con los cambios realizados para ver si efectivamente funciona. Como lo hemos hecho a la primera, no ha hecho falta.

Contenido