19 Я могу создать узел, используя следующий код: $node = \Drupal::entityTypeManager()->getStorage('node')->create($array); Но если у меня есть идентификатор узла, как я могу отредактировать узел? nodes 8 entities Бос источник что вы хотите редактировать? какое поле? Юсеф Ответы: 23 Вы можете попробовать этот код <?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(); MrD источник Этот ответ не хороший путь, Иван ответ хороший ответ Кевин 6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); киамалуно источник и как изменено, например, настраиваемое поле: es. field_mycustomfield ??? BOES или $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad 2 node_load устарела в Drupal 8.x, будет удалена до Drupal 9.0. Используйте \ Drupal \ node \ Entity \ Node :: load (). Ссылка https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak источник 1 Вы можете использовать API сущности для выполнения обновлений. $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); } } Хагронапхор источник 0 У меня тоже работает старый метод: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Борис Аюпов источник
23 Вы можете попробовать этот код <?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(); MrD источник Этот ответ не хороший путь, Иван ответ хороший ответ Кевин 6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); киамалуно источник и как изменено, например, настраиваемое поле: es. field_mycustomfield ??? BOES или $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad 2 node_load устарела в Drupal 8.x, будет удалена до Drupal 9.0. Используйте \ Drupal \ node \ Entity \ Node :: load (). Ссылка https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak источник 1 Вы можете использовать API сущности для выполнения обновлений. $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); } } Хагронапхор источник 0 У меня тоже работает старый метод: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Борис Аюпов источник
6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); киамалуно источник и как изменено, например, настраиваемое поле: es. field_mycustomfield ??? BOES или $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad 2 node_load устарела в Drupal 8.x, будет удалена до Drupal 9.0. Используйте \ Drupal \ node \ Entity \ Node :: load (). Ссылка https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak источник 1 Вы можете использовать API сущности для выполнения обновлений. $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); } } Хагронапхор источник 0 У меня тоже работает старый метод: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Борис Аюпов источник
2 node_load устарела в Drupal 8.x, будет удалена до Drupal 9.0. Используйте \ Drupal \ node \ Entity \ Node :: load (). Ссылка https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak источник
1 Вы можете использовать API сущности для выполнения обновлений. $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); } } Хагронапхор источник
0 У меня тоже работает старый метод: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Борис Аюпов источник
Ответы:
Вы можете попробовать этот код
источник
источник
$node = \Drupal::entityManager()->getStorage('node')->load($nid);
node_load устарела в Drupal 8.x, будет удалена до Drupal 9.0. Используйте \ Drupal \ node \ Entity \ Node :: load ().
Ссылка https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x
источник
Вы можете использовать API сущности для выполнения обновлений.
источник
У меня тоже работает старый метод:
источник