Dans hook_node_update () , je peux facilement dire le «statut» d'un nœud (qu'il soit publié ou non) après sa mise à jour.
Cependant, existe-t-il un moyen facile de vérifier si le nœud mis à jour a été publié, mais ne l'est pas maintenant? (Ou vice versa)?
Je pense que les règles peuvent avoir une condition pour «la valeur du nœud a changé» ou quelque chose dans ce sens, mais je voudrais le faire par programme.
J'ai trouvé ce problème par fago (développeur de Rules) sur drupal.org qui semble traiter cela dans Drupal 7, mais une belle explication serait appréciée.
$entity->original->getTranslation($lng)->status->value == 0 && $entity->getTranslation($lng)->status->value == 1
node_save()
contient le code suivant.entity_load_unchanged()
charge l'entité (dans ce cas le nœud) à partir de la base de données; il renvoie l'objet entité avant toute modification effectuée à partir des modules en cours d'exécution.Le code est exécuté avant toute pré-sauvegarde et mise à jour des hooks.
Dans ces hooks, il est possible de voir les propriétés du nœud avant toute modification
$node->original
, par exemple avec$node->original->status
.la source