En Drupal 9 y 10 pasar scripts de javascript a un template
Digamos que deseamos pasar una variable form que contiene un script a un template, por ejemplo desde un bloque, entonces el código nos quedaría así:
Digamos que deseamos pasar una variable form que contiene un script a un template, por ejemplo desde un bloque, entonces el código nos quedaría así:
Ante todo para poder hacer en envio de correos en sí deberíamos tener un servidor de correos instalado o algún módulo como SMTP.
Ahora vamos construir un módulo que envie un correo siempre que se cree un nodo de tipo evento (event). El nombre de este módulo será email_on_event_create.
En Drupal 10 podemos ejecutar cierto código al ocurrir ciertos eventos (similar a los hooks) para ello debemos suscribir nuestro código a dichos eventos.
Para Realizar la suscripción de nuestro código a los eventos de Drupal, debemos crear una clase e implementarla con la interface EventSubscriberInterface.
Y luego debemos indecarle a Drupal que dicha clase es también un servicio.
Hagamos todo esto paso a paso:
El Form API de Drupal tiene una caracteristica que no es muy conocida y es el sistema de estados (#states system). Los #state de un formulario nos permiten crear campos que cambian de estado (mostrar, ocultar, habilitar, deshabilitar, etc.) según ciertas condiciones. De tal manera que no necesitamos escribir JavaScript personalizado para estos estados.
Para nuestro caso vamos a escribir un formulario en donde habrán 2 campos select_url y url:
En drupal 8, 9 y 10 tenemos entidades ya sean del core o entidades custom, estas últimas pueden ser creadas a mano o utilizando el módulo contribuido https://www.drupal.org/project/eck.
1. Podemos cargar a todas las entidades de cierto tipo haciendo uso de la siguiente linea:
Vamos a crear un endpoint que obtenga un email y pueda hacer con él las operaciones que necesitemos.
Para crear un endpoint por código de tipo POST en Drupal 8, 9 ó 10, debemos seguir estos pasos:
1. Crear una clase siguiendo la estructura de carpeta /src/Plugin/rest/resource/ ,
Con Drush podemos crear la estructura principal del módulo, por ejemplo el archivo info.yml y el archivo .module. Pero también podrá crear otros archivos según las opciones que escogamos, como (librerías, archivo de instalación, permisos, rutas, servicios, etc).
Lo primero que debemos hacer es instalar drush en nuestro proyecto con:
En drupal tenemos datos de configuración como los que se guardan en admin/config/system/site-information como el nombre del sitio, el lema, correo electronico, vamos a estudiar como localizar, leer, editar y crear nuestra propia configuración.
Localizando una configuración
Por ejemplo para los datos almacenados en site-information, podemos:
a. Ir a nuestro editor de código y buscar el archivo .routing.yml en donde se encuentra la ruta admin/config/system/site-information.
Para saber por medio de código a que grupo o grupos pertenece cierta entidad, como un usuario o un nodo debemos usar GroupRelationship::loadByEntity()
.
La función GroupRelationship::loadByEntity()
en Drupal 9 está relacionada con el módulo de Grupos (Group). Este módulo permite la organización y gestión de contenido en grupos. La función loadByEntity()
sugiere que se está cargando una relación de grupo basada en una entidad específica.
Para cambiar de theme por código de acuerdo a cierta condición en nuestro desarrollo en Drupal 8, 9 y 10 debemos: