Cómo Crear Un Hook En Drupal
Y úsarlo en tu módulo
En Drupal, un “hook” es una función predefinida utilizada por los desarrolladores para personalizar y ampliar el CMS respondiendo a eventos o interacciones específicas, lo que permite el desarrollo de sitios web modulares y flexibles sin modificar el código central.
Crear un hook en tu módulo es muy simple. Todo lo que necesitas hacer es agregar algo como esto y enviar la variable para que otros módulos puedan modificarla:
// Permitir a otros módulos alterar la variable status.
\Drupal::moduleHandler()->invokeAll('content_translation_alter_status', [&$status]);
En este caso, necesitaba poder alterar los valores en la variable $status, por eso he creado un parche en Drupal.org: https://www.drupal.org/project/drupal/issues/3393739
Y así es como lo uso en mi módulo (reemplaza hook con el nombre de tu módulo):
function hook_content_translation_alter_status(&$status) {
$node = \Drupal::routeMatch()->getParameter('node');
if ($node instanceof \Drupal\node\NodeInterface) {
$moderation_state = $node->get('moderation_state')->getString();
$moderation_state = str_replace('_', ' ', $moderation_state);
$status['data']["#template"] = ucfirst($moderation_state);
return $status;
}
}
👉 Encuentra más sobre mí aquí: https://sergioguardiola.net 🔥