In hook_node_update () kann ich den 'Status' eines Knotens (ob veröffentlicht oder nicht) nach dessen Aktualisierung leicht erkennen.
Allerdings gibt es eine einfache Möglichkeit , um zu sehen , zu überprüfen , ob der aktualisierte Knoten wurde veröffentlicht, aber jetzt nicht wahr? (Oder umgekehrt)?
Ich denke, Regeln haben möglicherweise eine Bedingung für "Knotenwert hat sich geändert" oder etwas in diese Richtung, aber ich möchte dies programmgesteuert tun.
Ich habe dieses Problem von fago (Entwickler von Rules) auf drupal.org gefunden, das sich in Drupal 7 damit zu befassen scheint, aber eine nette Erklärung wäre wünschenswert.
$entity->original->getTranslation($lng)->status->value == 0 && $entity->getTranslation($lng)->status->value == 1
node_save()
enthält den folgenden Code.entity_load_unchanged()
lädt die Entität (in diesem Fall den Knoten) aus der Datenbank; Es gibt das Entitätsobjekt zurück, bevor Änderungen an den ausgeführten Modulen vorgenommen werden.Der Code wird vor dem Speichern und Aktualisieren von Hooks ausgeführt.
In diesen Hooks ist es möglich, die Knoteneigenschaften zu sehen, bevor Änderungen vorgenommen werden
$node->original
, z. B. mit$node->original->status
.quelle