Capturar acción al publicar un contenidos

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
fj2t's picture

Hola, trabajo sobre Drupal 8, necesito de alguna forma mediante código capturar la acción de publicaciones de contenidos para cuando esta se realice en cualquier tipo de contenidos. Ya que automáticamente se enviarán unos emails a unos usuario en concreto cuando se han publicados los contenidos.

He estado investigando pero no termino de encontrar la forma para capturar la acción de publicación de contenidos.

Gracias.

Comments

puedes usar un

jhonatanfdez's picture

puedes usar un hook_entity_presave para que te envíe un email cada vez que hagas una actualización o creación de contenidos.

function hook_entity_presave(Drupal\Core\Entity\EntityInterface $entity) {
if ($entity->getEntityTypeId()=='content'){
//aqui va tu codigo para enviar correo.
}

}

Si quieres que solo sea en los contenidos nuevos, entonces usas hook_entity_insert.

si quieres que solo sea en los contenidos cuando se haga una actualización hook_entity_update.

Estos hook van en el archivo .module

Vale, entiendo el

fj2t's picture

Vale, entiendo el funcionamiento y he probado el update y me está funcionando, pero no termino de dar con el hook de publicación de contenido, no se si tendré que filtrar con alguna condición o algo.

Si lo que quieres es capturar

jhonatanfdez's picture

Si lo que quieres es capturar el contenido cuando se crea únicamente un contenido nuevo el codigo que debes usar es: hook_entity_insert

function hook_entity_insert(Drupal\Core\Entity\EntityInterface $entity) {
if ($entity->getEntityTypeId()=='content'){
//aqui va tu codigo para enviar correo.
}

}

Spanish

Group organizers

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: