Astuce [D7] Hook après édition/suppression de contenu, multilingue ou non

Drupal fournit 3 hooks pour effectuer des traitements après création/édition/suppression de contenu.

Pour un nœud

À la création

/**
 * Implements hook_node_insert().
 */
function my_module_node_insert($node) {

  // Do something
}

À l'édition

/**
 * Implements hook_node_update().
 */
function my_module_node_update($node) {

  // Do something
}

À la suppression

/**
 * Implements hook_node_delete().
 */
function my_module_node_delete($node) {

  // Do something
}

Pour une entité multilingue

Dans le cadre de contenus (et autres entités) multilingues, 3 autres hooks permettent de connaitre la langue pour laquelle la révision est créée/supprimmée.

La langue utilisée est disponible dans le hook vie la variable $translation['language']. Le type d'entité (ex: user, node, ...) est disponible dans la variable $entity_type.

À la création

/**
 * Implements hook_entity_translation_insert().
 */
function my_module_entity_translation_insert($entity_type, $entity, $translation, $values = array()) {

  // Do something
}

À l'édition

/**
 * Implements hook_entity_translation_update().
 */
function my_module_entity_translation_update($entity_type, $entity, $translation, $values = array()) {

  // Do something
}

À la suppression

/**
 * Implements hook_entity_translation_delete().
 */
function my_module_entity_translation_delete($entity_type, $entity, $langcode) {

  // Do something
}