Câu trả lời:
Bạn có thể thử mã này
<?php
use Drupal\node\Entity\Node;
$node = Node::load($nid);
//set value for field
$node->body->value = 'body';
$node->body->format = 'full_html';
//field tag
$node->field_tags = [1];
//field image
$field_image = array(
'target_id' => $fileID,
'alt' => "My 'alt'",
'title' => "My 'title'",
);
$node->field_image = $field_image;
//save to update node
$node->save();
node_load không được dùng trong Drupal 8.x, sẽ bị xóa trước Drupal 9.0. Sử dụng \ Drupal \ node \ Entity \ Node :: load ().
Tham khảo https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/feft/node_load/8.3.x
Bạn có thể sử dụng API của Thực thể để thực hiện các cập nhật.
$node = Node::load($id);
if ($node instanceof NodeInterface) {
try {
$node->set('title', 'My Title');
$node->set('field_textfield', 'My textfield value');
$node->save();
}
catch (\Exception $e) {
watchdog_exception('myerrorid', $e);
}
}
Phương pháp cũ hoạt động quá đối với tôi:
$node=node_load($nid);
print_r($node->body->format);
$node->body->format='full_html';
print_r($node->body->format);
$node->save();