Blog
Joan Galtés i Moreno

Cómo crear un módulo custom con el asistente de Drush: Drush module generator

Cómo crear un módulo custom con el asistente de Drush: Drush module generator
En este tutorial te enseñaremos cómo generar un módulo custom completamente desde cero utilizando Drush en la terminal de comandos.

¿Alguna vez te ha pasado que has necesitado añadir una funcionalidad adicional a tu sitio web y no has sabido por dónde empezar? La clave de todo es crear un módulo custom, pero para los más nuevos en el mundo de Drupal puede parecer un poco complicado si no se conoce la estructura que deben seguir estos módulos. Pues bien, en este tutorial nos adentraremos en las entrañas de Drush, una herramienta que te ayudará mucho en esta tarea.

Primero de todo, es necesario tener Drush instalado en tu sitio web. Si usas la terminal de comandos y tienes instalado Drupal con Composer, será tan fácil como ejecutar este comando:

composer require drush/drush

Una vez que Drush esté habilitado, utilizaremos el asistente de Drush, llamado Drupal Code Generator, para generar un módulo custom:

drush gen module

Llegados a este punto, el prompt de la terminal cambiará y tendrás que responder a las preguntas del asistente:

Una captura de pantalla que muestra las preguntas del asistente de Drush para la creación de un módulo custom

En la imagen sobre estas líneas se muestra todo el proceso que deberás seguir con el asistente. Las preguntas que te hará se utilizarán para la creación de tu módulo custom. Repasémoslas en detalle:

  • Module name: Aquí deberás indicar el nombre de tu módulo, en este caso lo hemos llamado Example module. Puedes indicar casi cualquier cosa (acepta espacios en blanco y otros caracteres), y será el nombre que se mostrará en la página de administración de módulos de tu Drupal, en /admin/modules.
  • Module machine name: Este será el nombre del sistema para tu módulo y se utilizará también para la creación de la carpeta correspondiente. En este caso, sin embargo, deberás ser más cuidadoso y utilizar solo minúsculas y guiones bajos para nombrar tu módulo. Otra consideración importante es que el nombre debe ser único, y en este sentido deberás asegurarte de que no exista ningún módulo con el nombre elegido. Una posible solución podría ser el uso de un prefijo, como "my_", resultando en my_modulename o usar el nombre del proyecto, por ejemplo: "site_", resultando en algo como site_modulename.
  • Package: Sirve para clasificar tu módulo en alguna categoría en la página de administración de módulos de tu Drupal, en /admin/modules. Generalmente puedes dejarlo con el valor Custom que propone el asistente.
  • Dependencies (comma separated): Sirve para indicar si tu módulo depende de otro módulo que debe estar instalado previamente en tu sitio. Si, por ejemplo, tu módulo necesita del módulo Views para funcionar, puedes indicar core:views (siguiendo la convención project:module). Si tu módulo no tiene ninguna dependencia declarada, puedes dejarlo en blanco.
  • Would you like to create module file?: Aquí te pregunta si quieres que te asista para la creación de un archivo con la extensión .module. Generalmente este archivo se usa para la declaración de hooks en tu módulo, pero no es obligatorio, dado que tu módulo puede constar de un formulario, un controlador o un servicio, sin necesitar ningún hook para su funcionamiento. Si no lo necesitas, puedes dejarlo en blanco.
  • Would you like to create install file?: Aquí te pregunta si quieres que te asista para la creación de un archivo con la extensión .install. En este archivo generalmente implementaremos tareas a ejecutar durante la activación o desactivación de tu módulo o bien la creación de tablas en la base de datos con la Schema API.
  • Would you like to create README.md file?: Como último paso, y de manera totalmente opcional, el asistente te preguntará si deseas crear un archivo de documentación llamado README.md. Aunque no es obligatorio, es una buena idea documentar los aspectos más relevantes de tu módulo, como el propósito, funcionalidades, instrucciones de uso, etc.

Como has podido ver en este tutorial, la creación de un módulo custom con Drush es una tarea muy sencilla, que se hace en cuestión de segundos. Ahora solo queda ponerse a programar las funcionalidades requeridas.

Si necesitas ayuda en la programación de tu módulo custom o necesitas una funcionalidad hecha a medida en tu Drupal, no dudes en contactarnos, estaremos encantados de ayudarte en todo lo que necesites.

Sobre el autor

Joan Galtés i Moreno

Desarrollador full-stack, especializado en Drupal desde 2008. Me gusta concebir y desarrollar tanto el back-end como el front-end en todos mis proyectos. Entusiasta de las nuevas tecnologías, con un buen dominio de PHP, MySQL, Git, Javascript, HTML 5, SASS y CSS 3, poniendo siempre el énfasis en la usabilidad y la accesibilidad en todo aquello que desarrollo.

Compartir

Deja tu comentario