19 Eu posso criar um nó usando o seguinte código: $node = \Drupal::entityTypeManager()->getStorage('node')->create($array); Mas se eu tiver o ID do nó, como posso editar um nó? nodes 8 entities BOES fonte o que você quer editar? qual campo? Yusef Respostas: 23 Você pode tentar este código <?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 fonte Esta resposta não é o bom caminho, Ivan resposta é a resposta boa Kevin 6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); kiamlaluno fonte e conforme modificado, por exemplo, o campo personalizado: es. field_mycustomfield ??? BOES 19/01 ou $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad 25/01 2 node_load foi descontinuado no Drupal 8.x, será removido antes do Drupal 9.0. Use \ Drupal \ node \ Entity \ Node :: load (). Ref https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak fonte 1 Você pode usar a API da entidade para executar as atualizações. $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); } } hugronaphor fonte 0 O método antigo também funciona para mim: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov fonte
23 Você pode tentar este código <?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 fonte Esta resposta não é o bom caminho, Ivan resposta é a resposta boa Kevin 6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); kiamlaluno fonte e conforme modificado, por exemplo, o campo personalizado: es. field_mycustomfield ??? BOES 19/01 ou $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad 25/01 2 node_load foi descontinuado no Drupal 8.x, será removido antes do Drupal 9.0. Use \ Drupal \ node \ Entity \ Node :: load (). Ref https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak fonte 1 Você pode usar a API da entidade para executar as atualizações. $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); } } hugronaphor fonte 0 O método antigo também funciona para mim: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov fonte
6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); kiamlaluno fonte e conforme modificado, por exemplo, o campo personalizado: es. field_mycustomfield ??? BOES 19/01 ou $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad 25/01 2 node_load foi descontinuado no Drupal 8.x, será removido antes do Drupal 9.0. Use \ Drupal \ node \ Entity \ Node :: load (). Ref https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak fonte 1 Você pode usar a API da entidade para executar as atualizações. $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); } } hugronaphor fonte 0 O método antigo também funciona para mim: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov fonte
2 node_load foi descontinuado no Drupal 8.x, será removido antes do Drupal 9.0. Use \ Drupal \ node \ Entity \ Node :: load (). Ref https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak fonte
1 Você pode usar a API da entidade para executar as atualizações. $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); } } hugronaphor fonte
0 O método antigo também funciona para mim: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov fonte
Respostas:
Você pode tentar este código
fonte
fonte
$node = \Drupal::entityManager()->getStorage('node')->load($nid);
node_load foi descontinuado no Drupal 8.x, será removido antes do Drupal 9.0. Use \ Drupal \ node \ Entity \ Node :: load ().
Ref https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x
fonte
Você pode usar a API da entidade para executar as atualizações.
fonte
O método antigo também funciona para mim:
fonte