19 Puedo crear un nodo usando el siguiente código: $node = \Drupal::entityTypeManager()->getStorage('node')->create($array); Pero si tengo la ID del nodo, ¿cómo puedo editar un nodo? nodes 8 entities BOES fuente ¿Qué quieres editar? ¿qué campo? Yusef Respuestas: 23 Puedes probar 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 fuente Esta respuesta no es la buena, Ivan es la buena respuesta Kevin 6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); kiamlaluno fuente y como se modificó, por ejemplo, el campo personalizado: es. field_mycustomfield ??? BOES o $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad el 2 node_load está en desuso en Drupal 8.x, se eliminará antes de 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 fuente 1 Puede usar la API de la entidad para realizar las actualizaciones. $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 fuente 0 El viejo método también funciona para mí: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov fuente
23 Puedes probar 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 fuente Esta respuesta no es la buena, Ivan es la buena respuesta Kevin 6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); kiamlaluno fuente y como se modificó, por ejemplo, el campo personalizado: es. field_mycustomfield ??? BOES o $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad el 2 node_load está en desuso en Drupal 8.x, se eliminará antes de 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 fuente 1 Puede usar la API de la entidad para realizar las actualizaciones. $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 fuente 0 El viejo método también funciona para mí: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov fuente
6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); kiamlaluno fuente y como se modificó, por ejemplo, el campo personalizado: es. field_mycustomfield ??? BOES o $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad el 2 node_load está en desuso en Drupal 8.x, se eliminará antes de 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 fuente 1 Puede usar la API de la entidad para realizar las actualizaciones. $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 fuente 0 El viejo método también funciona para mí: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov fuente
2 node_load está en desuso en Drupal 8.x, se eliminará antes de 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 fuente
1 Puede usar la API de la entidad para realizar las actualizaciones. $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 fuente
0 El viejo método también funciona para mí: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov fuente
Respuestas:
Puedes probar este código
fuente
fuente
$node = \Drupal::entityManager()->getStorage('node')->load($nid);
node_load está en desuso en Drupal 8.x, se eliminará antes de 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
fuente
Puede usar la API de la entidad para realizar las actualizaciones.
fuente
El viejo método también funciona para mí:
fuente