Tôi muốn cập nhật giá trị của một trường nút khi một nút được cập nhật.
Đã thử sử dụng mã được đề cập ở đây Lập trình cập nhật một nút 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();
}
}
nhưng nó không hoạt động. Tôi nhận được một lỗi 500 sau khi lưu nút. Tôi cũng đã thử lấy câu lệnh if và chỉ định id nút$node = Node::load(1);
Tôi cũng đã thử sử dụng Cập nhật một nút / Thực thể theo chương trình trong Drupal 8
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();
}
nhưng cũng không có may mắn.
Ngoài ra, tôi đã thử sử dụng các hook khác nhau entity_presave, entity_update, node_update, nhưng không tạo ra sự khác biệt nào.