ฉันต้องการอัปเดตค่าของเขตข้อมูลโหนดเมื่อมีการอัปเดตโหนด
พยายามใช้รหัสที่กล่าวถึงที่นี่โดยทางโปรแกรมอัพเดตโหนด 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();
}
}
แต่มันไม่ทำงาน ฉันได้รับข้อผิดพลาด 500 หลังจากบันทึกโหนด ฉันยังลองใช้คำสั่ง if และระบุ node id$node = Node::load(1);
ฉันยังลองใช้อัปเดตโหนด / Entity โดยทางโปรแกรมใน 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();
}
แต่ก็ไม่มีโชคเช่นกัน
นอกจากนี้ฉันพยายามใช้ hooks เอนทิตี้ที่แตกต่างกัน, เอนทิตี, อัปโหลด, ต่อม แต่ไม่ได้สร้างความแตกต่างใด ๆ