En hook_node_update () , puedo decir fácilmente el 'estado' de un nodo (ya sea publicado o no) después de que se haya actualizado.
Sin embargo, ¿hay una manera fácil de verificar si el nodo actualizado se publicó, pero ahora no? (O viceversa)?
Creo que las Reglas pueden tener alguna condición para 'el valor del nodo ha cambiado' o algo por el estilo, pero me gustaría hacerlo programáticamente.
Encontré este problema por fago (desarrollador de Reglas) en drupal.org que parece tratar con esto en Drupal 7, pero agradecería una buena explicación.
$entity->original->getTranslation($lng)->status->value == 0 && $entity->getTranslation($lng)->status->value == 1
node_save()
contiene el siguiente código.entity_load_unchanged()
carga la entidad (en este caso, el nodo) de la base de datos; devuelve el objeto de entidad antes de cualquier cambio realizado desde los módulos en ejecución.El código se ejecuta antes de cualquier guardado previo y actualiza los ganchos.
En esos ganchos, es posible ver las propiedades del nodo antes de cualquier cambio
$node->original
, por ejemplo con$node->original->status
.fuente