Ich möchte den Wert eines Knotenfelds aktualisieren, wenn ein Knoten aktualisiert wird.
Versucht mit dem hier genannten Code Programmgesteuertes Aktualisieren eines Knotens Drupal 8
use Drupal\node\Entity\Node;
function hello_world_entity_presave(Drupal\Core\Entity\EntityInterface $entity) {
$check = \Drupal::routeMatch()->getParameter('node');
if ($check) {
$node = Node::load($check->nid->value);
$node->title->value = 'testing'; //set value for field
$node->save();
}
}
aber es hat nicht funktioniert. Nach dem Speichern des Knotens erhalte ich einen 500-Fehler. Ich habe auch versucht, die if-Anweisung herauszunehmen und eine Node-ID anzugeben$node = Node::load(1);
Ich habe auch versucht, einen Knoten / eine Entität programmgesteuert in Drupal 8 zu aktualisieren
use Drupal\node\Entity\Node;
function hello_world_node_update(Drupal\node\NodeInterface $node) {
$node = Node::load(1);
$node->set("title", 'New value'); // also tried $node->setTitle('The new Title');
$node->save();
}
aber auch kein glück.
Außerdem habe ich versucht, verschiedene Hooks "entity_presave", "entity_update" und "node_update" zu verwenden, aber keinen Unterschied gemacht.